/* 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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 151 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
/* #line 1693 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 1701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
/* #line 1704 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
/* #line 1709 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 1712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 1900 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 1940 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 1946 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2430, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail39:;
	}
        break;
      }
    case SSA_NAME:
      {
	{
/* #line 2433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 2433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2432, __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 2437 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2437, __FILE__, __LINE__);
	      {
		res_ops[0] = captures[0];
		return true;
	      }
next_after_fail41:;
	    }
	  }
	if (tree_with_possible_nonzero_bits (_p1))
	  {
	    {
/* #line 2437 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2437, __FILE__, __LINE__);
	      {
		res_ops[0] = captures[0];
		return true;
	      }
next_after_fail42:;
	    }
	  }
        break;
      }
    default:;
    }
if (tree_with_possible_nonzero_bits (t))
  {
    {
/* #line 2435 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2435, __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 2442 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2442, __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 2444 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2444, __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 2613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
/* #line 2613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2612, __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 2618 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
/* #line 2618 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2617, __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 4305 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4305, __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 4305 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4305, __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 6951 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 6951 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6950, __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 6972 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 6972 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6971, __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 8339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8339, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail52:;
	}
        break;
      }
    case CONSTRUCTOR:
      {
	{
/* #line 8343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 8343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8342, __FILE__, __LINE__);
	      {
		return true;
	      }
next_after_fail53:;
	    }
	}
        break;
      }
    default:;
    }
  {
/* #line 8348 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 8348 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8347, __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 8425 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8425, __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 8425 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8425, __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 8430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[7] ATTRIBUTE_UNUSED = { _q20, _q50, _q70, _p0, _q21, _p1, _p2 };
/* #line 8430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8428, __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 8449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8449, __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 8449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8449, __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 8449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8449, __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 8449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8449, __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 8449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8449, __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 8449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8449, __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 8449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8449, __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 8449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8449, __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 8449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8449, __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 8449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8449, __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 8449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8449, __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 8449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8449, __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 8449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8449, __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 8449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8449, __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 8449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8449, __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 8449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8449, __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 8454 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8454, __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 8454 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8454, __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 8454 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8454, __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 8454 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8454, __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 *captures
, const combined_fn ARG_UNUSED (fns))
{
/* #line 7090 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (canonicalize_math_p ()
)
    {
      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", 7097, __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_fail78:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_2 (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 5892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5900 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (cmp == NE_EXPR
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail79;
	      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", 5906, __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_fail79:;
	    }
	  else
	    {
	      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail80;
	      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", 5907, __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_fail80:;
	    }
	}
      else
	{
/* #line 5909 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5912 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 off += mem_ref_offset (base).force_shwi ();
/* #line 5913 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (known_ne (off, 0)
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail81;
		      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", 5914, __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_fail81:;
		    }
		  else
		    {
/* #line 5915 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      if (known_eq (off, 0)
)
			{
			  if (TREE_SIDE_EFFECTS (captures[0])) 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", 5916, __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_fail82:;
			}
		    }
	      }
	    }
	}
  }
  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 (cmp))
{
/* #line 5669 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (wi::gt_p (wi::to_wide (captures[1]), 0, TYPE_SIGN (TREE_TYPE (captures[1])))
)
    {
      {
/* #line 5670 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5676 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (ovf
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail83;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail83;
	      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", 5677, __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_fail83:;
	    }
	  else
	    {
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail84;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail84;
	      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", 5680, __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_fail84:;
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_4 (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 6725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!flag_errno_math
)
    {
      {
/* #line 6732 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree t_one = build_one_cst (type);
	  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", 6733, __FILE__, __LINE__);
	  {
	    if (! tree_invariant_p (captures[1])) goto next_after_fail85;
	    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_fail85;
	      res_op1 = _r1;
	    }
	    tree _r;
	    _r = fold_build2_loc (loc, RDIV_EXPR, 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
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (INTEGRAL_TYPE_P (type)
 && TYPE_OVERFLOW_UNDEFINED (type)
 && element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
)
	    {
	      {
/* #line 3151 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
		  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", 3152, __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_fail86:;
	      }
	    }
	  else
	    {
/* #line 3153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail87;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3163, __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_fail87:;
		}
	    }
	}
    }
  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 (op))
{
/* #line 2276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail88;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2278, __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_fail88:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_7 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 3971 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3975 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree shift_type = TREE_TYPE (captures[2]);
	  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", 3977, __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_fail89:;
      }
    }
  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
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 6370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail90;
      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", 6372, __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_fail90:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_9 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 939 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (real_isinteger (&TREE_REAL_CST (captures[2]), &n) && (n & 1) == 0
)
	{
	  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", 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_fail91;
	    if (TREE_SIDE_EFFECTS (captures[1]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	    return _r;
	  }
next_after_fail91:;
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_10 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 7209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7229 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
)
	{
	  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", 7230, __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_fail92:;
	}
      else
	{
	  {
/* #line 7231 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
	      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", 7232, __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_fail93:;
	  }
	}
    }
  else
    {
/* #line 7234 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (FLOAT_TYPE_P (type)
 && DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 == DECIMAL_FLOAT_TYPE_P (type)
)
	{
	  {
/* #line 7237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7243 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (FLOAT_TYPE_P (ty1)
 && FLOAT_TYPE_P (ty2)
)
		{
		  {
/* #line 7245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7258 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail94;
			  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail94;
			  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", 7263, __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_fail94:;
			}
		      else
			{
			  {
/* #line 7264 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 if (TYPE_PRECISION (ty1) > TYPE_PRECISION (newtype))
 newtype = ty1;
 if (TYPE_PRECISION (ty2) > TYPE_PRECISION (newtype))
 newtype = ty2;
/* #line 7289 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail95;
				  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail95;
				  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", 7296, __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_fail95:;
				}
			  }
			}
		  }
		}
	  }
	}
    }
  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
)
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail96;
  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", 1422, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    return _r;
  }
next_after_fail96:;
  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
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (mod))
{
/* #line 747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
      {
/* #line 748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
	  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", 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_fail97:;
      }
    }
  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
)
{
  if (TREE_SIDE_EFFECTS (_p1)) 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", 2648, __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_fail98:;
  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_fail99;
  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_fail99;
    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_fail99:;
  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))
{
  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", 5287, __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_fail100:;
  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
)
{
/* #line 3675 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (wi::ltu_p (wi::to_wide (captures[1]), element_precision (type))
)
    {
      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", 3677, __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_fail101:;
    }
  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 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_18 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail103;
      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", 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_fail103:;
    }
  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 enum tree_code ARG_UNUSED (shift))
{
/* #line 3865 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3870 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3924 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if ((mask & zerobits) == mask
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail104;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail104;
	      if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail104;
	      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", 3925, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  build_int_cst (type, 0);
		return _r;
	      }
next_after_fail104:;
	    }
	  else
	    {
	      {
/* #line 3926 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 newmask = mask | zerobits;
/* #line 3927 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (newmask != mask && (newmask & (newmask + 1)) == 0
)
		    {
		      {
/* #line 3928 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3937 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (prec < HOST_BITS_PER_WIDE_INT
 || newmask == HOST_WIDE_INT_M1U
)
			    {
			      {
/* #line 3939 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
/* #line 3941 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (!tree_int_cst_equal (newmaskt, captures[5])
)
				    {
/* #line 3942 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      if (shift_type != TREE_TYPE (captures[2])
)
					{
					  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail105;
					  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail105;
					  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail105;
					  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", 3943, __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_fail105:;
					}
				      else
					{
					  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail106;
					  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail106;
					  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", 3944, __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_fail106:;
					}
				    }
			      }
			    }
		      }
		    }
	      }
	    }
      }
    }
  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 enum tree_code ARG_UNUSED (op))
{
  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", 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_fail107:;
  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
)
{
  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", 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_fail108:;
  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
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (!ANY_INTEGRAL_TYPE_P (type)
 || TYPE_OVERFLOW_WRAPS (type)
)
	    {
	      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", 2907, __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_fail109:;
	    }
	  else
	    {
	      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", 2908, __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_fail110:;
	    }
	}
    }
  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_fail111;
  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_fail111:;
  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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (single_use (captures[4]) && single_use (captures[5])
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) 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", 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_fail112:;
	}
      else
	{
/* #line 1636 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (single_use (captures[0]) && single_use (captures[1])
)
	    {
	      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", 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_fail113:;
	    }
	}
    }
  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_fail114;
  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_fail114:;
  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))
{
/* #line 3790 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (tree_int_cst_sgn (captures[0]) > 0
)
    {
      {
/* #line 3791 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 int c1 = wi::clz (wi::to_wide (captures[0]));
 int c2 = wi::clz (wi::to_wide (captures[2]));
/* #line 3793 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (c1 > c2
)
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail115;
	      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail115;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail115;
	      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", 3794, __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_fail115:;
	    }
	  else
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail116;
	      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail116;
	      if (TREE_SIDE_EFFECTS (captures[2])) 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", 3795, __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_fail116:;
	    }
      }
    }
  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 (bitop), const enum tree_code ARG_UNUSED (rbitop))
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail117;
  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", 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_fail117:;
  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 enum tree_code ARG_UNUSED (cmp))
{
/* #line 3583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail118;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3585, __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_fail118:;
    }
  else
    {
/* #line 3586 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail119;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3588, __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_fail119:;
	}
    }
  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_fail120;
  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_fail120:;
  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 (op))
{
/* #line 3360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail121;
      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail121;
      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", 3362, __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_fail121:;
    }
  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
, 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_fail122;
  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail122;
  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", 4003, __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_fail122:;
  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
)
{
  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", 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_fail123:;
  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 enum tree_code ARG_UNUSED (div))
{
/* #line 429 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail124;
      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_fail124:;
    }
  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 (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail125;
  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", 5723, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[1];
    return _r;
  }
next_after_fail125:;
  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
)
{
  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", 6789, __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_fail126:;
  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 (op))
{
  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", 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_fail127:;
  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 (code2), const enum tree_code ARG_UNUSED (code1))
{
  {
/* #line 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2723 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (code1 == EQ_EXPR && val
)
	{
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail128;
	  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail128;
	  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", 2723, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[0];
	    return _r;
	  }
next_after_fail128:;
	}
      else
	{
/* #line 2724 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (code1 == EQ_EXPR && !val
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail129;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail129;
	      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", 2724, __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_fail129:;
	    }
	  else
	    {
/* #line 2725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (code1 == NE_EXPR && !val
)
		{
		  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail130;
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail130;
		  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", 2725, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[3];
		    return _r;
		  }
next_after_fail130:;
		}
	    }
	}
  }
  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
)
{
  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", 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_fail131:;
  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
)
{
/* #line 1592 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
    {
      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", 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_fail132:;
    }
  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_fail133;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6793, __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_fail133:;
  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
)
{
  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", 3424, __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_fail134:;
  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 enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 6078 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[1]));
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail135;
	  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", 6083, __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_fail135:;
      }
    }
  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 *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5925 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail136;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5927, __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_fail136:;
    }
  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 5180 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (single_use (captures[0])
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail137;
      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", 5181, __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_fail137:;
    }
  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 *captures
)
{
  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", 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_fail138:;
  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
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!canonicalize_math_p ()
)
    {
/* #line 2135 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
)
	{
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail139;
	  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", 2137, __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_fail139:;
	}
    }
  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
)
{
/* #line 5196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail140;
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail140;
      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", 5199, __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_fail140:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_48 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 6435 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6439 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
)
	{
	  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", 6440, __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_fail141;
		_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_fail141:;
	}
      else
	{
/* #line 6441 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (TYPE_MIN_VALUE (TREE_TYPE (captures[1]))
)
	    {
/* #line 6442 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (!TYPE_UNSIGNED (TREE_TYPE (captures[2])) && integer_minus_onep (captures[2])
)
		{
		  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", 6443, __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_fail142:;
		}
	      else
		{
		  {
/* #line 6444 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6461 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      if (etype
)
			{
			  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail143;
			  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", 6462, __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_fail143:;
			}
		  }
		}
	    }
	}
    }
  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 (mod))
{
/* #line 722 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_UNSIGNED (type)
)
    {
      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", 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_fail144:;
    }
  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_fail145;
  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_fail145:;
  return NULL_TREE;
}

static tree
generic_simplify_51 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type) || VECTOR_INTEGER_TYPE_P (type)
)
    {
      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", 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_fail146:;
    }
  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 (eqne))
{
/* #line 2639 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (eqne == EQ_EXPR
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail147;
      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", 2640, __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_fail147:;
    }
  else
    {
/* #line 2641 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (eqne == NE_EXPR
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail148;
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail148;
	  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", 2642, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[0];
	    return _r;
	  }
next_after_fail148:;
	}
    }
  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 1019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && TYPE_OVERFLOW_WRAPS (type)
 && !TYPE_SATURATING (type)
)
    {
      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", 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_fail149:;
    }
  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
)
{
  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", 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_fail150:;
  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
)
{
/* #line 1720 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail151;
      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_fail151:;
    }
  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
, const combined_fn ARG_UNUSED (POW))
{
  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", 6768, __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_fail152:;
  return NULL_TREE;
}

static tree
generic_simplify_57 (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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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_fail153;
	  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_fail153:;
	}
      else
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail154;
	  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", 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_fail154:;
	}
    }
  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 combined_fn ARG_UNUSED (SIN), const combined_fn ARG_UNUSED (TAN), const combined_fn ARG_UNUSED (COS))
{
/* #line 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
/* #line 6843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (! HONOR_NANS (captures[1])
 && ! HONOR_INFINITIES (captures[1])
)
	{
	  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", 6845, __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_fail155;
	    return _r;
	  }
next_after_fail155:;
	}
    }
  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 (mod))
{
/* #line 713 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!integer_zerop (captures[1])
)
    {
      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", 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_fail156:;
    }
  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 1529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail157;
      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", 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_fail157:;
    }
  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
, const enum tree_code ARG_UNUSED (op), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5384 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
      {
/* #line 5388 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree tem = const_binop (op == PLUS_EXPR ? MINUS_EXPR : PLUS_EXPR,
 TREE_TYPE (captures[1]), captures[2], captures[1]);
/* #line 5393 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (tem && !TREE_OVERFLOW (tem)
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail158;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail158;
	      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", 5394, __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_fail158:;
	    }
      }
    }
  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 (cmp))
{
/* #line 5400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_associative_math
)
    {
      {
/* #line 5403 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree tem = const_binop (MINUS_EXPR, TREE_TYPE (captures[1]), captures[0], captures[2]);
/* #line 5404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (tem && !TREE_OVERFLOW (tem)
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail159;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail159;
	      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", 5405, __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_fail159:;
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_63 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 1784 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
)
	    {
	      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", 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_fail160:;
	    }
	  else
	    {
	      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", 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_fail161:;
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_64 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (floors))
{
/* #line 7083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (canonicalize_math_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", 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_fail162:;
    }
  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 (inner_op), const enum tree_code ARG_UNUSED (outer_op))
{
  {
/* #line 2469 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2492 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (!fail && (C0 & zero_mask_not) == 0
)
	{
	  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail163;
	  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail163;
	  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail163;
	  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", 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, outer_op, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail163:;
	}
      else
	{
/* #line 2494 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (!fail && (wi::to_wide (captures[3]) & zero_mask_not) == 0
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail164;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail164;
	      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail164;
	      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", 2495, __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_fail164:;
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_66 (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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
      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", 6684, __FILE__, __LINE__);
      {
	tree _r;
	_r = captures[0];
	return _r;
      }
next_after_fail165:;
    }
  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
, const enum tree_code ARG_UNUSED (mod))
{
  if (TREE_SIDE_EFFECTS (_p0)) 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", 733, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    return _r;
  }
next_after_fail166:;
  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 2696 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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", 2698, __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_fail167:;
    }
  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 (op))
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3073 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail168;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3079, __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_fail168;
		  res_op0 = _r1;
		}
		tree _r;
		_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		return _r;
	      }
next_after_fail168:;
	    }
	}
    }
  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))
{
/* #line 255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail169;
      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_fail169:;
    }
  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 enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 6388 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[2])) && !VECTOR_TYPE_P (TREE_TYPE (captures[2]))
)
    {
      {
/* #line 6389 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree t = TREE_TYPE (captures[2]), cpx = build_complex_type (t);
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail170;
	  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", 6390, __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_fail170;
		_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_fail170:;
      }
    }
  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
)
{
/* #line 1641 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail171;
      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_fail171:;
    }
  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
, const enum tree_code ARG_UNUSED (op))
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail172;
  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", 1622, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    return _r;
  }
next_after_fail172:;
  return NULL_TREE;
}

static tree
generic_simplify_74 (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_fail173;
  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", 1195, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[2];
    return _r;
  }
next_after_fail173:;
  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 enum tree_code ARG_UNUSED (cmp), const combined_fn ARG_UNUSED (bswap))
{
  {
/* #line 4365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree ctype = TREE_TYPE (captures[0]);
      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", 4366, __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_fail174:;
  }
  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 *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (acmp))
{
  {
/* #line 5093 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree cst = uniform_integer_cst_p (captures[1]);
/* #line 5094 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (tree_int_cst_sgn (cst) == -1
)
	{
	  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", 5095, __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_fail175:;
	}
  }
  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
)
{
/* #line 5066 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail176;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5071, __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_fail176:;
    }
  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 *captures
)
{
/* #line 765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail177;
      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_fail177:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_79 (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 7105 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (canonicalize_math_p ()
)
    {
/* #line 7111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (TYPE_PRECISION (integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	{
	  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", 7115, __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_fail178;
	    return _r;
	  }
next_after_fail178:;
	}
    }
  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
)
{
/* #line 8365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail179;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8366, __FILE__, __LINE__);
      {
	if (! tree_invariant_p (captures[2])) goto next_after_fail179;
	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_fail179:;
    }
  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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!canonicalize_math_p ()
)
    {
/* #line 2141 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail180;
	  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", 2143, __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_fail180:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_82 (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.5.0-r0/gcc-13.5.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_fail181;
      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_fail181:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_83 (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_fail182;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7350, __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_fail182:;
  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
)
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail183;
  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", 2673, __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_fail183:;
  return NULL_TREE;
}

static tree
generic_simplify_85 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (SIGNBIT))
{
/* #line 7355 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (captures[0])
)
    {
      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", 7356, __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_fail184:;
    }
  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
)
{
  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", 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_fail185:;
  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
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail186;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6263, __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_fail186:;
    }
  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 ARG_UNUSED (_p2), tree *captures
, const combined_fn ARG_UNUSED (fmas))
{
/* #line 7568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      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", 7572, __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_fail187;
	return _r;
      }
next_after_fail187:;
    }
  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 606 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (FLOAT_TYPE_P (type)
 && ! HONOR_NANS (type)
 && ! HONOR_INFINITIES (type)
)
    {
      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", 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_fail188:;
    }
  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_fail189;
  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", 5723, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[1];
    return _r;
  }
next_after_fail189:;
  return NULL_TREE;
}

static tree
generic_simplify_91 (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 3865 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3870 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3924 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if ((mask & zerobits) == mask
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail190;
	      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail190;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail190;
	      if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail190;
	      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", 3925, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  build_int_cst (type, 0);
		return _r;
	      }
next_after_fail190:;
	    }
	  else
	    {
	      {
/* #line 3926 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 newmask = mask | zerobits;
/* #line 3927 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (newmask != mask && (newmask & (newmask + 1)) == 0
)
		    {
		      {
/* #line 3928 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3937 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (prec < HOST_BITS_PER_WIDE_INT
 || newmask == HOST_WIDE_INT_M1U
)
			    {
			      {
/* #line 3939 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
/* #line 3941 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (!tree_int_cst_equal (newmaskt, captures[5])
)
				    {
/* #line 3942 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      if (shift_type != TREE_TYPE (captures[2])
)
					{
					  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail191;
					  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail191;
					  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", 3943, __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_fail191:;
					}
				      else
					{
					  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail192;
					  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail192;
					  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", 3944, __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_fail192:;
					}
				    }
			      }
			    }
		      }
		    }
	      }
	    }
      }
    }
  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 (icmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 5146 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (types_match (type, TREE_TYPE (captures[0]))
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail193;
      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", 5147, __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_fail193:;
    }
  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
)
{
/* #line 2126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail194;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2128, __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_fail194:;
    }
  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 (icmp))
{
/* #line 1992 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (integer_zerop (captures[5])
 && invert_tree_comparison (cmp, HONOR_NANS (captures[2])) == icmp
)
    {
/* #line 1995 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (integer_onep (captures[4])
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) 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", 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_fail195:;
	}
      else
	{
/* #line 1997 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (integer_minus_onep (captures[4])
)
	    {
	      if (TREE_SIDE_EFFECTS (_p0)) 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", 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_fail196:;
	    }
	}
    }
  else
    {
/* #line 1999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (integer_zerop (captures[4])
 && invert_tree_comparison (cmp, HONOR_NANS (captures[2])) == icmp
)
	{
/* #line 2002 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (integer_onep (captures[5])
)
	    {
	      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail197;
	      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", 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_fail197:;
	    }
	  else
	    {
/* #line 2004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (integer_minus_onep (captures[5])
)
		{
		  if (TREE_SIDE_EFFECTS (_p0)) 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", 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_fail198:;
		}
	    }
	}
    }
  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 *captures
, const enum tree_code ARG_UNUSED (div))
{
/* #line 415 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_UNSIGNED (type)
)
    {
      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", 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_fail199:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_96 (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_fail200;
  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", 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_fail200:;
  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
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (scmp))
{
/* #line 5210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (integer_zerop (captures[2])
)
    {
      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", 5211, __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_fail201:;
    }
  else
    {
/* #line 5212 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (tree_int_cst_sgn (captures[2]) < 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", 5217, __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_fail202:;
	    }
	  else
	    {
	      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", 5218, __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_fail203:;
	    }
	}
    }
  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 combined_fn ARG_UNUSED (FMIN_ALL))
{
/* #line 3533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_finite_math_only
)
    {
      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", 3536, __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_fail204:;
    }
  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
)
{
  if (TREE_SIDE_EFFECTS (_p1)) 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", 1164, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[2];
    return _r;
  }
next_after_fail205:;
  return NULL_TREE;
}

static tree
generic_simplify_100 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3006 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (!ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type)
)
	    {
/* #line 3009 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (!CONSTANT_CLASS_P (captures[2])
)
		{
		  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", 3010, __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_fail206;
		      res_op1 = _r1;
		    }
		    tree _r;
		    _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
		    return _r;
		  }
next_after_fail206:;
		}
	    }
	  else
	    {
/* #line 3011 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail207;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3013, __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_fail207;
			_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_fail207:;
		}
	      else
		{
/* #line 3014 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (types_match (type, captures[2]) && !TYPE_OVERFLOW_SANITIZED (type)
)
		    {
		      {
/* #line 3015 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree cst = const_binop (MINUS_EXPR, type, captures[0], captures[1]);
/* #line 3016 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (cst && !TREE_OVERFLOW (cst)
)
			    {
			      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail208;
			      if (TREE_SIDE_EFFECTS (captures[1])) 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", 3017, __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_fail208:;
			    }
		      }
		    }
		}
	    }
	}
    }
  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
, const enum tree_code ARG_UNUSED (mod))
{
  if (TREE_SIDE_EFFECTS (_p1)) 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", 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_fail209:;
  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
, const enum tree_code ARG_UNUSED (opo), const enum tree_code ARG_UNUSED (opi))
{
  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", 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_fail210:;
  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 combined_fn ARG_UNUSED (POW))
{
/* #line 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
/* #line 6817 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (!TREE_OVERFLOW (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", 6818, __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_fail211;
	    return _r;
	  }
next_after_fail211:;
	}
    }
  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 (code2), const enum tree_code ARG_UNUSED (code1))
{
  {
/* #line 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (code1 == EQ_EXPR && val
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail212;
	  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail212;
	  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", 2789, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[3];
	    return _r;
	  }
next_after_fail212:;
	}
      else
	{
/* #line 2790 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (code1 == NE_EXPR && val
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail213;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail213;
	      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", 2790, __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_fail213:;
	    }
	  else
	    {
/* #line 2791 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (code1 == NE_EXPR && !val
)
		{
		  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail214;
		  if (TREE_SIDE_EFFECTS (captures[4])) 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", 2791, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[0];
		    return _r;
		  }
next_after_fail214:;
		}
	    }
	}
  }
  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 combined_fn ARG_UNUSED (minmax))
{
/* #line 3419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!tree_expr_maybe_signaling_nan_p (captures[0])
)
    {
      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", 3420, __FILE__, __LINE__);
      {
	tree _r;
	_r = captures[0];
	return _r;
      }
next_after_fail215:;
    }
  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 (op))
{
  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", 5793, __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_fail216:;
  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 (plusminus))
{
/* #line 3251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
 && (!FLOAT_TYPE_P (type) || flag_associative_math)
)
    {
/* #line 3268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (!ALL_FRACT_MODE_P (TYPE_MODE (type))
)
	{
/* #line 3271 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail217;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3291, __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_fail217:;
	    }
	}
    }
  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 (minmax), const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 3490 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3497 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (equal == 1
)
	{
/* #line 3498 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (minmax == MIN_EXPR
)
	    {
/* #line 3499 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (known_le (off0, off1)
)
		{
		  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail218;
		  if (TREE_SIDE_EFFECTS (captures[3])) 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", 3500, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[0];
		    return _r;
		  }
next_after_fail218:;
		}
	      else
		{
/* #line 3501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (known_gt (off0, off1)
)
		    {
		      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail219;
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail219;
		      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", 3502, __FILE__, __LINE__);
		      {
			tree _r;
			_r = captures[2];
			return _r;
		      }
next_after_fail219:;
		    }
		}
	    }
	  else
	    {
/* #line 3503 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (known_ge (off0, off1)
)
		{
		  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail220;
		  if (TREE_SIDE_EFFECTS (captures[3])) 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", 3504, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[0];
		    return _r;
		  }
next_after_fail220:;
		}
	      else
		{
/* #line 3505 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (known_lt (off0, off1)
)
		    {
		      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail221;
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail221;
		      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", 3506, __FILE__, __LINE__);
		      {
			tree _r;
			_r = captures[2];
			return _r;
		      }
next_after_fail221:;
		    }
		}
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_109 (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 2359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail222;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2363, __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_fail222:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_110 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (fmas))
{
/* #line 7568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
/* #line 7581 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
)
	{
	  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", 7582, __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_fail223;
	    return _r;
	  }
next_after_fail223:;
	}
    }
  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
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail224;
      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", 6362, __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_fail224:;
    }
  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 ARG_UNUSED (_p2), tree *captures
, const combined_fn ARG_UNUSED (cond_op))
{
  {
/* #line 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[3]);
/* #line 8006 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (element_precision (type) == element_precision (op_type)
)
	{
	  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", 8007, __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_fail225;
	      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_fail225:;
	}
  }
  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 enum tree_code ARG_UNUSED (cmp))
{
/* #line 2152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail226;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2155, __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_fail226:;
    }
  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 (HYPOT))
{
  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", 6763, __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_fail227:;
  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
)
{
  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", 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_fail228:;
  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 enum tree_code ARG_UNUSED (neeq))
{
  {
/* #line 2391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 poly_int64 diff; tree inner_type = TREE_TYPE (captures[1]);
/* #line 2392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (ptr_difference_const (captures[0], captures[2], &diff)
)
	{
	  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", 2393, __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_fail229:;
	}
  }
  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
, const combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
/* #line 333 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      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", 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_fail230:;
    }
  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 (rotate))
{
/* #line 3984 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3989 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree rotate_type = TREE_TYPE (captures[2]);
	  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", 3991, __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_fail231:;
      }
    }
  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 combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
  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", 6783, __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_fail232:;
  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 (inner_op), const enum tree_code ARG_UNUSED (neg_inner_op), const enum tree_code ARG_UNUSED (outer_op))
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2949 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (!ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type)
)
	    {
/* #line 2952 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (!CONSTANT_CLASS_P (captures[0])
)
		{
/* #line 2953 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (outer_op == PLUS_EXPR
)
		    {
		      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", 2954, __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_fail233;
			  res_op1 = _r1;
			}
			tree _r;
			_r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
			return _r;
		      }
next_after_fail233:;
		    }
		  else
		    {
		      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", 2955, __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_fail234;
			  res_op1 = _r1;
			}
			tree _r;
			_r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
			return _r;
		      }
next_after_fail234:;
		    }
		}
	    }
	  else
	    {
/* #line 2956 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0]))
)
		{
/* #line 2958 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (outer_op == PLUS_EXPR
)
		    {
		      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", 2959, __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_fail235;
			    _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_fail235:;
		    }
		  else
		    {
		      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", 2960, __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_fail236;
			    _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_fail236:;
		    }
		}
	      else
		{
/* #line 2964 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (types_match (type, captures[0]) && !TYPE_OVERFLOW_SANITIZED (type)
)
		    {
		      {
/* #line 2965 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree cst = const_binop (outer_op == inner_op
 ? PLUS_EXPR : MINUS_EXPR,
 type, captures[1], captures[2]);
/* #line 2968 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (cst && !TREE_OVERFLOW (cst)
)
			    {
			      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail237;
			      if (TREE_SIDE_EFFECTS (captures[2])) 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", 2969, __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_fail237:;
			    }
			  else
			    {
/* #line 2971 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail238;
				  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail238;
				  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", 2973, __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_fail238:;
				}
			      else
				{
				  {
/* #line 2975 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
/* #line 2976 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      if (utype
)
					{
					  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail239;
					  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail239;
					  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", 2977, __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_fail239:;
					}
				  }
				}
			    }
		      }
		    }
		}
	    }
	}
    }
  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_fail240;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4220, __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_fail240:;
  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), const enum tree_code ARG_UNUSED (cmp), const combined_fn ARG_UNUSED (clz))
{
/* #line 7632 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (integer_zerop (captures[2]) && single_use (captures[0])
)
    {
      {
/* #line 7634 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7644 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (stype
)
	    {
	      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", 7645, __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_fail241:;
	    }
      }
    }
  else
    {
      {
/* #line 7647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7657 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (ok && wi::to_wide (captures[2]) == (TYPE_PRECISION (type0) - 1)
)
	    {
	      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", 7658, __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_fail242:;
	    }
      }
    }
  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 (cmp))
{
/* #line 1292 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
      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", 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_fail243:;
    }
  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 enum tree_code ARG_UNUSED (op))
{
/* #line 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 4241 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 4247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail244;
	      if (TREE_SIDE_EFFECTS (captures[3])) 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", 4249, __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_fail244:;
	    }
	  else
	    {
	      {
/* #line 4250 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail245;
		  if (TREE_SIDE_EFFECTS (captures[3])) 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", 4251, __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_fail245:;
	      }
	    }
      }
    }
  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 enum tree_code ARG_UNUSED (div))
{
/* #line 846 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (type)
)
    {
/* #line 847 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (TYPE_OVERFLOW_UNDEFINED (type)
)
	{
	  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", 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_fail246:;
	}
    }
  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 (cmp), const enum tree_code ARG_UNUSED (icmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 5163 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (types_match (type, TREE_TYPE (captures[0]))
)
    {
      {
/* #line 5164 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 enum tree_code ic = invert_tree_comparison
 (cmp, HONOR_NANS (captures[1]));
/* #line 5166 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (ic == icmp
)
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail247;
	      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", 5167, __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_fail247:;
	    }
	  else
	    {
/* #line 5168 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (ic == ncmp
)
		{
		  if (TREE_SIDE_EFFECTS (_p1)) 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", 5169, __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_fail248:;
		}
	    }
      }
    }
  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
)
{
/* #line 1547 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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", 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_fail249:;
    }
  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 combined_fn ARG_UNUSED (TAN), const combined_fn ARG_UNUSED (SIN), const combined_fn ARG_UNUSED (COS))
{
/* #line 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
/* #line 6850 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (! HONOR_NANS (captures[1])
 && ! HONOR_INFINITIES (captures[1])
)
	{
	  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", 6852, __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_fail250;
	      res_op1 = _r1;
	    }
	    tree _r;
	    _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail250:;
	}
    }
  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 enum tree_code ARG_UNUSED (bitop))
{
/* #line 1802 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail251;
      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_fail251:;
    }
  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 1579 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
    {
      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", 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_fail252:;
    }
  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 5227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5230 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 widest_int quot;
/* #line 5231 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail253;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5233, __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_fail253:;
	    }
	  else
	    {
	      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", 5234, __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_fail254:;
	    }
      }
    }
  else
    {
/* #line 5235 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail255;
	  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail255;
	  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", 5238, __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_fail255:;
	}
    }
  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
)
{
  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", 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_fail256:;
  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
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail257;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2920, __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_fail257:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_134 (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_fail258;
  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", 7740, __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_fail258:;
  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 combined_fn ARG_UNUSED (POPCOUNT), const combined_fn ARG_UNUSED (PARITY))
{
  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", 7745, __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_fail259;
    return _r;
  }
next_after_fail259:;
  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 198 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (fold_real_zero_addition_p (type, captures[0], captures[1], 0)
)
    {
      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", 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_fail260:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_137 (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_fail261;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7751, __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_fail261;
    return _r;
  }
next_after_fail261:;
  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
, const combined_fn ARG_UNUSED (PARITY))
{
  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", 7756, __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_fail262;
    return _r;
  }
next_after_fail262:;
  return NULL_TREE;
}

static tree
generic_simplify_139 (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 7068 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (optimize && canonicalize_math_p ()
)
    {
      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", 7071, __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_fail263;
	return _r;
      }
next_after_fail263:;
    }
  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 (shiftrotate))
{
  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", 3714, __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_fail264:;
  return NULL_TREE;
}

static tree
generic_simplify_141 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 7209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7229 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
)
	{
	  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", 7230, __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_fail265:;
	}
      else
	{
	  {
/* #line 7231 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
	      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", 7232, __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_fail266:;
	  }
	}
    }
  else
    {
/* #line 7234 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (FLOAT_TYPE_P (type)
 && DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 == DECIMAL_FLOAT_TYPE_P (type)
)
	{
	  {
/* #line 7237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7243 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (FLOAT_TYPE_P (ty1)
 && FLOAT_TYPE_P (ty2)
)
		{
		  {
/* #line 7245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7258 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail267;
			  if (TREE_SIDE_EFFECTS (captures[3])) 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", 7263, __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_fail267:;
			}
		      else
			{
			  {
/* #line 7264 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 if (TYPE_PRECISION (ty1) > TYPE_PRECISION (newtype))
 newtype = ty1;
 if (TYPE_PRECISION (ty2) > TYPE_PRECISION (newtype))
 newtype = ty2;
/* #line 7289 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail268;
				  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail268;
				  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", 7296, __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_fail268:;
				}
			  }
			}
		  }
		}
	  }
	}
    }
  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), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 3953 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail269;
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail269;
      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", 3954, __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_fail269:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_143 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2599 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (POINTER_TYPE_P (TREE_TYPE (captures[0]))
 && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
    {
      {
/* #line 2601 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 unsigned int align;
 unsigned HOST_WIDE_INT bitpos;
 get_pointer_alignment_1 (captures[0], &align, &bitpos);
/* #line 2607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail270;
	      if (TREE_SIDE_EFFECTS (captures[1])) 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", 2608, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  wide_int_to_tree (type, (wi::to_wide (captures[1])
 & (bitpos / BITS_PER_UNIT)));
		return _r;
	      }
next_after_fail270:;
	    }
      }
    }
  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))
{
  if (TREE_SIDE_EFFECTS (_p1)) 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", 5932, __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_fail271:;
  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
, const enum tree_code ARG_UNUSED (cmp))
{
  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", 5938, __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_fail272:;
  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 (test1), const enum tree_code ARG_UNUSED (test2))
{
/* #line 5731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail273;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5733, __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_fail273:;
    }
  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 ARG_UNUSED (_p2), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6042 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6046 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree shifter = build_int_cst (integer_type_node, TYPE_PRECISION (type) - 1);
/* #line 6050 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (cmp == GE_EXPR
)
	    {
	      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail274;
	      if (TREE_SIDE_EFFECTS (captures[1])) 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", 6051, __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_fail274:;
	    }
	  else
	    {
	      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail275;
	      if (TREE_SIDE_EFFECTS (captures[1])) 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", 6052, __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_fail275:;
	    }
      }
    }
  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))
{
  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6118 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (equal == 1
)
	{
/* #line 6120 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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", 6121, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  constant_boolean_node (known_eq (off0, off1), type);
		return _r;
	      }
next_after_fail276:;
	    }
	  else
	    {
/* #line 6122 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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", 6123, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r =  constant_boolean_node (known_ne (off0, off1), type);
		    return _r;
		  }
next_after_fail277:;
		}
	      else
		{
/* #line 6124 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail278;
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail278;
		      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", 6125, __FILE__, __LINE__);
		      {
			tree _r;
			_r =  constant_boolean_node (known_lt (off0, off1), type);
			return _r;
		      }
next_after_fail278:;
		    }
		  else
		    {
/* #line 6126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail279;
			  if (TREE_SIDE_EFFECTS (captures[2])) 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", 6127, __FILE__, __LINE__);
			  {
			    tree _r;
			    _r =  constant_boolean_node (known_le (off0, off1), type);
			    return _r;
			  }
next_after_fail279:;
			}
		      else
			{
/* #line 6128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail280;
			      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail280;
			      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", 6129, __FILE__, __LINE__);
			      {
				tree _r;
				_r =  constant_boolean_node (known_ge (off0, off1), type);
				return _r;
			      }
next_after_fail280:;
			    }
			  else
			    {
/* #line 6130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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", 6131, __FILE__, __LINE__);
				  {
				    tree _r;
				    _r =  constant_boolean_node (known_gt (off0, off1), type);
				    return _r;
				  }
next_after_fail281:;
				}
			    }
			}
		    }
		}
	    }
	}
      else
	{
/* #line 6132 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (equal == 0
)
	    {
/* #line 6134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (cmp == EQ_EXPR
)
		{
		  if (TREE_SIDE_EFFECTS (captures[1])) 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", 6135, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r =  constant_boolean_node (false, type);
		    return _r;
		  }
next_after_fail282:;
		}
	      else
		{
/* #line 6136 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (cmp == NE_EXPR
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail283;
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail283;
		      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", 6137, __FILE__, __LINE__);
		      {
			tree _r;
			_r =  constant_boolean_node (true, type);
			return _r;
		      }
next_after_fail283:;
		    }
		}
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_149 (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_fail284;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6758, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    return _r;
  }
next_after_fail284:;
  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 (eqne))
{
/* #line 2639 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (eqne == EQ_EXPR
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) 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", 2640, __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_fail285:;
    }
  else
    {
/* #line 2641 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (eqne == NE_EXPR
)
	{
	  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", 2642, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[0];
	    return _r;
	  }
next_after_fail286:;
	}
    }
  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
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3090 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
	    {
	      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", 3091, __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_fail287:;
	    }
	}
    }
  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
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (TREE_INT_CST_LOW (captures[1]) & 1
)
    {
      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", 2425, __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_fail288:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_153 (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 6725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!flag_errno_math
)
    {
      {
/* #line 6741 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree t_one = build_one_cst (type);
	  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", 6742, __FILE__, __LINE__);
	  {
	    if (! tree_invariant_p (captures[1])) goto next_after_fail289;
	    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_fail289;
	      res_op1 = _r1;
	    }
	    tree _r;
	    _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail289:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_154 (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.5.0-r0/gcc-13.5.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_fail290;
      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_fail290:;
    }
  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 (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 1978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail291;
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail291;
      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", 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_fail291:;
    }
  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
)
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail292;
  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", 5720, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[1];
    return _r;
  }
next_after_fail292:;
  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 combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
  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", 6773, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    return _r;
  }
next_after_fail293:;
  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 (shift))
{
/* #line 3865 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3870 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3924 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if ((mask & zerobits) == mask
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail294;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail294;
	      if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail294;
	      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", 3925, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  build_int_cst (type, 0);
		return _r;
	      }
next_after_fail294:;
	    }
	  else
	    {
	      {
/* #line 3926 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 newmask = mask | zerobits;
/* #line 3927 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (newmask != mask && (newmask & (newmask + 1)) == 0
)
		    {
		      {
/* #line 3928 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3937 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (prec < HOST_BITS_PER_WIDE_INT
 || newmask == HOST_WIDE_INT_M1U
)
			    {
			      {
/* #line 3939 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
/* #line 3941 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (!tree_int_cst_equal (newmaskt, captures[5])
)
				    {
/* #line 3942 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      if (shift_type != TREE_TYPE (captures[2])
)
					{
					  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail295;
					  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail295;
					  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail295;
					  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", 3943, __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_fail295:;
					}
				      else
					{
					  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail296;
					  if (TREE_SIDE_EFFECTS (captures[5])) 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", 3944, __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_fail296:;
					}
				    }
			      }
			    }
		      }
		    }
	      }
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_159 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2101 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
)
    {
      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", 2102, __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_fail297:;
    }
  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
, const enum tree_code ARG_UNUSED (bitop), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 1118 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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", 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_fail298:;
    }
  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))
{
  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", 5958, __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_fail299;
	_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_fail299:;
  return NULL_TREE;
}

static tree
generic_simplify_162 (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_fail300;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5276, __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_fail300:;
  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
)
{
/* #line 3619 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && (
0
 || !TREE_SIDE_EFFECTS (captures[1]))
)
    {
      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", 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_fail301:;
    }
  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 ARG_UNUSED (_p2), tree *captures
, const combined_fn ARG_UNUSED (cond_op))
{
  {
/* #line 8024 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[6]);
/* #line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail302;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8027, __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_fail302;
	      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_fail302:;
	}
  }
  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
, const enum tree_code ARG_UNUSED (div))
{
  {
/* #line 485 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (div == EXACT_DIV_EXPR
 || optimize_successive_divisions_p (captures[3], captures[0])
)
	{
/* #line 492 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (!overflow
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail303;
	      if (TREE_SIDE_EFFECTS (captures[3])) 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", 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_fail303:;
	    }
	  else
	    {
/* #line 494 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail304;
		  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail304;
		  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", 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_fail304:;
		}
	    }
	}
  }
  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 (op), const enum tree_code ARG_UNUSED (rop))
{
/* #line 1612 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail305;
      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_fail305:;
    }
  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
)
{
  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", 3428, __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_fail306:;
  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 (plusminus))
{
/* #line 3251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
 && (!FLOAT_TYPE_P (type) || flag_associative_math)
)
    {
/* #line 3268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (!ALL_FRACT_MODE_P (TYPE_MODE (type))
)
	{
/* #line 3294 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail307;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3310, __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_fail307:;
	    }
	}
    }
  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
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3084 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (!TYPE_OVERFLOW_TRAPS (type)
)
	    {
	      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", 3085, __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_fail308:;
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_170 (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_fail309;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5974, __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_fail309:;
  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 (cmp))
{
/* #line 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!canonicalize_math_p ()
)
    {
/* #line 2141 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
)
	{
	  if (TREE_SIDE_EFFECTS (_p1)) 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", 2143, __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_fail310:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_172 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 2059 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail311;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2061, __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_fail311:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_173 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
/* #line 6872 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (!TREE_OVERFLOW (captures[2])
)
	{
	  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", 6873, __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_fail312;
	    return _r;
	  }
next_after_fail312:;
	}
    }
  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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail313;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2380, __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_fail313:;
    }
  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 (op))
{
  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", 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_fail314:;
  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 combined_fn ARG_UNUSED (minmax))
{
/* #line 3524 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail315;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3527, __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_fail315:;
    }
  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 (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 1963 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail316;
      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", 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_fail316:;
    }
  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 *captures
)
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail317;
  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", 2648, __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_fail317:;
  return NULL_TREE;
}

static tree
generic_simplify_179 (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_fail318;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4357, __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_fail318:;
  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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2914 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (!ANY_INTEGRAL_TYPE_P (type)
 || TYPE_OVERFLOW_WRAPS (type)
)
	    {
	      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", 2916, __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_fail319:;
	    }
	  else
	    {
	      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", 2917, __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_fail320:;
	    }
	}
    }
  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 (minmax), const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 3490 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3497 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (equal == 1
)
	{
/* #line 3498 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (minmax == MIN_EXPR
)
	    {
/* #line 3499 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (known_le (off0, off1)
)
		{
		  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail321;
		  if (TREE_SIDE_EFFECTS (captures[2])) 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", 3500, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[0];
		    return _r;
		  }
next_after_fail321:;
		}
	      else
		{
/* #line 3501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (known_gt (off0, off1)
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail322;
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail322;
		      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", 3502, __FILE__, __LINE__);
		      {
			tree _r;
			_r = captures[2];
			return _r;
		      }
next_after_fail322:;
		    }
		}
	    }
	  else
	    {
/* #line 3503 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (known_ge (off0, off1)
)
		{
		  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail323;
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail323;
		  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", 3504, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[0];
		    return _r;
		  }
next_after_fail323:;
		}
	      else
		{
/* #line 3505 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (known_lt (off0, off1)
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail324;
		      if (TREE_SIDE_EFFECTS (captures[2])) 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", 3506, __FILE__, __LINE__);
		      {
			tree _r;
			_r = captures[2];
			return _r;
		      }
next_after_fail324:;
		    }
		}
	    }
	}
  }
  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_fail325;
  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", 6006, __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_fail325:;
  return NULL_TREE;
}

static tree
generic_simplify_183 (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 6965 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (optimize && canonicalize_math_p ()
)
    {
      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", 6968, __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_fail326;
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	return _r;
      }
next_after_fail326:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_184 (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_fail327;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3555, __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_fail327:;
  return NULL_TREE;
}

static tree
generic_simplify_185 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (rints))
{
/* #line 7090 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (canonicalize_math_p ()
)
    {
/* #line 7098 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (!flag_errno_math
)
	{
	  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", 7103, __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_fail328:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_186 (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_fail329;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4227, __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_fail329:;
  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
)
{
  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", 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_fail330:;
  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
)
{
/* #line 2696 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail331;
      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", 2698, __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_fail331:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_189 (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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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_fail332;
	  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_fail332:;
	}
      else
	{
	  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", 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_fail333:;
	}
    }
  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 (cmp))
{
/* #line 6360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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", 6362, __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_fail334:;
    }
  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 combined_fn ARG_UNUSED (POPCOUNT))
{
/* #line 7730 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail335;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7732, __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_fail335;
	return _r;
      }
next_after_fail335:;
    }
  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 (eqne))
{
/* #line 2627 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (eqne == EQ_EXPR
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) 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", 2628, __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_fail336:;
    }
  else
    {
/* #line 2629 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (eqne == NE_EXPR
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail337;
	  if (TREE_SIDE_EFFECTS (_p1)) 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", 2630, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[0];
	    return _r;
	  }
next_after_fail337:;
	}
    }
  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 combined_fn ARG_UNUSED (TAN), const combined_fn ARG_UNUSED (COS), const combined_fn ARG_UNUSED (SIN))
{
/* #line 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      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", 6812, __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_fail338;
	return _r;
      }
next_after_fail338:;
    }
  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
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail339;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2937, __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_fail339:;
	}
    }
  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
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5946 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail340;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5952, __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_fail340:;
    }
  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 (mod))
{
/* #line 737 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail341;
      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_fail341:;
    }
  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
)
{
  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", 1422, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    return _r;
  }
next_after_fail342:;
  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
, const enum tree_code ARG_UNUSED (cmp), const combined_fn ARG_UNUSED (bswap))
{
  {
/* #line 4369 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree ctype = TREE_TYPE (captures[1]);
      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", 4370, __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_fail343;
	  if (EXPR_P (_r1))
	    goto next_after_fail343;
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	return _r;
      }
next_after_fail343:;
  }
  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 (test1), const enum tree_code ARG_UNUSED (test2))
{
/* #line 5739 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail344;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5741, __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_fail344:;
    }
  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 enum tree_code ARG_UNUSED (op))
{
/* #line 1632 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (single_use (captures[4]) && single_use (captures[5])
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) 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", 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_fail345:;
	}
      else
	{
/* #line 1636 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (single_use (captures[0]) && single_use (captures[1])
)
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail346;
	      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", 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_fail346:;
	    }
	}
    }
  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 combined_fn ARG_UNUSED (ovf))
{
/* #line 6424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail347;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6428, __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_fail347;
	return _r;
      }
next_after_fail347:;
    }
  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 (cmp))
{
/* #line 5293 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (single_use (captures[0]) && single_use (captures[2])
)
    {
      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", 5294, __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_fail348:;
    }
  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 *captures
, const combined_fn ARG_UNUSED (bswap))
{
/* #line 4401 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (BITS_PER_UNIT == 8
 && CHAR_TYPE_SIZE == 8
 && tree_fits_uhwi_p (captures[2])
)
    {
      {
/* #line 4404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 4415 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (TYPE_PRECISION (type) > prec
 && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
 && TYPE_UNSIGNED (type)
 && bits < prec && bits + 8 >= prec
)
	    {
	      {
/* #line 4419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree nst = build_int_cst (integer_type_node, prec - 8);
		  if (TREE_SIDE_EFFECTS (captures[2])) 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", 4420, __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_fail349:;
	      }
	    }
	  else
	    {
/* #line 4421 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (bits + 8 == prec
)
		{
/* #line 4422 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (TYPE_UNSIGNED (st)
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail350;
		      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", 4423, __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_fail350:;
		    }
		  else
		    {
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail351;
		      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", 4424, __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_fail351:;
		    }
		}
	      else
		{
/* #line 4425 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (bits < prec && bits + 8 > prec
)
		    {
		      {
/* #line 4426 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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", 4432, __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_fail352:;
		      }
		    }
		}
	    }
      }
    }
  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
, const combined_fn ARG_UNUSED (SQRT_ALL))
{
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
/* #line 6486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (!tree_expr_maybe_signaling_nan_p (captures[1])
)
	{
	  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", 6487, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[1];
	    return _r;
	  }
next_after_fail353:;
	}
    }
  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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[0]))
)
    {
      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", 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_fail354;
	return _r;
      }
next_after_fail354:;
    }
  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
, const enum tree_code ARG_UNUSED (op), const enum tree_code ARG_UNUSED (rop), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 7364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree res = int_const_binop (rop, captures[3], captures[2]);
/* #line 7369 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (TREE_OVERFLOW (res)
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
)
	    {
	      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", 7371, __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_fail355:;
	    }
	  else
	    {
/* #line 7372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (single_use (captures[0])
)
		{
		  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", 7373, __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_fail356:;
		}
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_207 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 3971 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3975 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree shift_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", 3977, __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_fail357:;
      }
    }
  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 combined_fn ARG_UNUSED (POW))
{
/* #line 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      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", 6857, __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_fail358;
	return _r;
      }
next_after_fail358:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_209 (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_fail359;
  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[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_fail359;
	_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_fail359:;
  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
)
{
/* #line 2689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail360;
      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", 2691, __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_fail360:;
    }
  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 (op), const enum tree_code ARG_UNUSED (rop), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 7380 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TREE_OVERFLOW (captures[2]) && !TREE_OVERFLOW (captures[3])
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
)
    {
      {
/* #line 7382 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree res = int_const_binop (rop, captures[3], captures[2]);
/* #line 7383 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (TREE_OVERFLOW (res)
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail361;
	      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail361;
	      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", 7384, __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_fail361:;
	    }
	  else
	    {
/* #line 7395 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (single_use (captures[0])
)
		{
		  {
/* #line 7396 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail362;
		      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail362;
		      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", 7403, __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_fail362:;
		  }
		}
	    }
      }
    }
  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 enum tree_code ARG_UNUSED (bitop))
{
  {
/* #line 1279 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (utype
)
	{
	  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail363;
	  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail363;
	  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail363;
	  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail363;
	  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", 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_fail363:;
	}
  }
  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 ARG_UNUSED (_p2), tree *captures
, const combined_fn ARG_UNUSED (fmas))
{
/* #line 7568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      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", 7575, __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_fail364;
	return _r;
      }
next_after_fail364:;
    }
  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 (icmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 5150 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (types_match (type, TREE_TYPE (captures[0]))
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail365;
      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", 5151, __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_fail365:;
    }
  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
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2853 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
 && !TYPE_OVERFLOW_SANITIZED (type)
)
	{
	  {
/* #line 2855 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail366;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2862, __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_fail366:;
	  }
	}
    }
  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
)
{
/* #line 1680 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (TYPE_UNSIGNED (type)
)
	{
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail367;
	  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", 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_fail367:;
	}
      else
	{
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail368;
	  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", 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_fail368:;
	}
    }
  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
)
{
/* #line 3432 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail369;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3435, __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_fail369:;
    }
  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 5963 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail370;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5964, __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_fail370:;
    }
  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 (eqne))
{
/* #line 2681 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (eqne == EQ_EXPR
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail371;
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail371;
      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", 2682, __FILE__, __LINE__);
      {
	tree _r;
	_r = captures[0];
	return _r;
      }
next_after_fail371:;
    }
  else
    {
/* #line 2683 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (eqne == NE_EXPR
)
	{
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail372;
	  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", 2684, __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_fail372:;
	}
    }
  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 (bitop), const enum tree_code ARG_UNUSED (rbitop))
{
  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", 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_fail373:;
  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 enum tree_code ARG_UNUSED (ncmp))
{
/* #line 5995 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail374;
      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", 5998, __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_fail374:;
    }
  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
, const enum tree_code ARG_UNUSED (minmax), const enum tree_code ARG_UNUSED (cmp))
{
  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", 3605, __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_fail375:;
  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 enum tree_code ARG_UNUSED (code2), const enum tree_code ARG_UNUSED (code1))
{
  {
/* #line 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2723 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (code1 == EQ_EXPR && val
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail376;
	  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail376;
	  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", 2723, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[0];
	    return _r;
	  }
next_after_fail376:;
	}
      else
	{
/* #line 2724 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (code1 == EQ_EXPR && !val
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail377;
	      if (TREE_SIDE_EFFECTS (captures[4])) 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", 2724, __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_fail377:;
	    }
	  else
	    {
/* #line 2725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (code1 == NE_EXPR && !val
)
		{
		  if (TREE_SIDE_EFFECTS (_p1)) 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", 2725, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[3];
		    return _r;
		  }
next_after_fail378:;
		}
	    }
	}
  }
  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 (minmax), const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (comb))
{
  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", 3595, __FILE__, __LINE__);
  {
    if (! tree_invariant_p (captures[2])) goto next_after_fail379;
    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_fail379:;
  return NULL_TREE;
}

static tree
generic_simplify_225 (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_fail380;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3414, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    return _r;
  }
next_after_fail380:;
  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), const enum tree_code ARG_UNUSED (cmp2))
{
/* #line 5692 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5695 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5705 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (small || large
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail381;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail381;
	      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", 5706, __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_fail381:;
	    }
	  else
	    {
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail382;
	      if (TREE_SIDE_EFFECTS (captures[2])) 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", 5707, __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_fail382:;
	    }
      }
    }
  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
)
{
  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", 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_fail383:;
  return NULL_TREE;
}

static tree
generic_simplify_228 (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_fail384;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4354, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    return _r;
  }
next_after_fail384:;
  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 ARG_UNUSED (_p2), tree *captures
)
{
/* #line 7568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      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", 7614, __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_fail385;
	return _r;
      }
next_after_fail385:;
    }
  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 *captures
, const combined_fn ARG_UNUSED (ovf))
{
/* #line 6417 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail386;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6421, __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_fail386;
	return _r;
      }
next_after_fail386:;
    }
  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 *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2347 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[1]))
)
    {
      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", 2348, __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_fail387:;
    }
  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
)
{
/* #line 786 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail388;
      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", 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_fail388:;
    }
  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
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 5995 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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", 5998, __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_fail389:;
    }
  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 ARG_UNUSED (_p2), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6027 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6031 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree shifter = build_int_cst (integer_type_node, TYPE_PRECISION (type) - 1);
/* #line 6035 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (cmp == LT_EXPR
)
	    {
	      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail390;
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail390;
	      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", 6036, __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_fail390:;
	    }
	  else
	    {
	      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail391;
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail391;
	      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", 6037, __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_fail391:;
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_235 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 2095 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
    {
      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", 2096, __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_fail392:;
    }
  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
, const enum tree_code ARG_UNUSED (op))
{
/* #line 8496 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (VECTOR_FLOAT_TYPE_P (type)
 && TYPE_VECTOR_SUBPARTS (type).is_constant ()
)
    {
      {
/* #line 8498 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (full_perm_p
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[1])) 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", 8530, __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_fail393:;
	    }
      }
    }
  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 combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
/* #line 327 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail394;
      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", 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_fail394:;
    }
  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
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (acmp))
{
  {
/* #line 5103 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree cst = uniform_integer_cst_p (captures[1]);
/* #line 5104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (tree_int_cst_sgn (cst) == 1
)
	{
	  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", 5105, __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_fail395:;
	}
  }
  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 enum tree_code ARG_UNUSED (op), const enum tree_code ARG_UNUSED (cmp), const combined_fn ARG_UNUSED (ctz))
{
  {
/* #line 7667 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7692 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (val <= 0
)
	{
/* #line 7693 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (ok && (!zero_res || zero_val >= val)
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) 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", 7694, __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_fail396:;
	    }
	}
      else
	{
/* #line 7695 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (val >= prec
)
	    {
/* #line 7696 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (ok && (!zero_res || zero_val < val)
)
		{
		  if (TREE_SIDE_EFFECTS (captures[2])) 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", 7697, __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_fail397:;
		}
	    }
	  else
	    {
/* #line 7698 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (ok && (!zero_res || zero_val < 0 || zero_val >= prec)
)
		{
		  if (TREE_SIDE_EFFECTS (captures[2])) 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", 7699, __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_fail398:;
		}
	    }
	}
  }
  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 (coss), const combined_fn ARG_UNUSED (atans), const combined_fn ARG_UNUSED (sqrts), const combined_fn ARG_UNUSED (copysigns))
{
  {
/* #line 6712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6720 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (SCALAR_FLOAT_TYPE_P (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", 6721, __FILE__, __LINE__);
	  {
	    if (! tree_invariant_p (captures[1])) goto next_after_fail399;
	    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_fail399;
		_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_fail399;
	      res_op2 = _r1;
	    }
	    tree _r;
	    _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
	    return _r;
	  }
next_after_fail399:;
	}
  }
  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 (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 2188 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2193 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[0]));
	  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", 2194, __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_fail400:;
      }
    }
  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
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 3574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail401;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3576, __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_fail401:;
    }
  else
    {
/* #line 3577 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail402;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3579, __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_fail402:;
	}
    }
  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))
{
/* #line 5653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!integer_zerop (captures[1])
)
    {
/* #line 5654 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (wi::to_wide (captures[2]) == 0
)
	{
	  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", 5655, __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_fail403:;
	}
      else
	{
/* #line 5656 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (TREE_CODE (captures[1]) == INTEGER_CST
)
	    {
	      {
/* #line 5657 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5663 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (ovf
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail404;
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail404;
		      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", 5664, __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_fail404:;
		    }
		  else
		    {
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail405;
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail405;
		      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", 5665, __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_fail405:;
		    }
	      }
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_244 (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 7078 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (optimize && canonicalize_math_p ()
)
    {
      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", 7081, __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_fail406;
	return _r;
      }
next_after_fail406:;
    }
  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 (div))
{
/* #line 420 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail407;
      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_fail407:;
    }
  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 enum tree_code ARG_UNUSED (op))
{
/* #line 3367 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail408;
	  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail408;
	  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", 3373, __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_fail408:;
      }
    }
  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
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 2013 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (invert_tree_comparison (cmp, HONOR_NANS (captures[2])) == icmp
)
    {
      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", 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_fail409:;
    }
  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 *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 3829 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3832 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if ((c2 & c3) != c3
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail410;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail410;
	      if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail410;
	      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", 3839, __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_fail410:;
	    }
	  else
	    {
/* #line 3840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (TYPE_UNSIGNED (t0)
)
		{
/* #line 3841 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if ((c3 & wi::arshift (sb, c1 - 1)) != 0
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail411;
		      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail411;
		      if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail411;
		      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", 3842, __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_fail411:;
		    }
		  else
		    {
		      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail412;
		      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail412;
		      if (TREE_SIDE_EFFECTS (captures[5])) 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", 3843, __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_fail412:;
		    }
		}
	      else
		{
		  {
/* #line 3845 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 wide_int smask = wi::arshift (sb, c1);
/* #line 3847 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      if ((c2 & smask) == 0
)
			{
			  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail413;
			  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail413;
			  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail413;
			  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", 3848, __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_fail413:;
			}
		      else
			{
/* #line 3850 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if ((c3 & smask) == 0
)
			    {
			      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail414;
			      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail414;
			      if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail414;
			      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", 3851, __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_fail414:;
			    }
			  else
			    {
/* #line 3853 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      if ((c2 & smask) != (c3 & smask)
)
				{
				  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail415;
				  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail415;
				  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail415;
				  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", 3854, __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_fail415:;
				}
			      else
				{
				  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail416;
				  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail416;
				  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail416;
				  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", 3855, __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_fail416:;
				}
			    }
			}
		  }
		}
	    }
      }
    }
  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
, const enum tree_code ARG_UNUSED (div))
{
/* #line 436 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail417;
      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_fail417:;
    }
  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 (bit_op), const enum tree_code ARG_UNUSED (shift))
{
/* #line 3963 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
)
    {
      {
/* #line 3964 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree mask = int_const_binop (shift, fold_convert (type, captures[3]), captures[4]);
/* #line 3965 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (mask
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail418;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail418;
	      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", 3966, __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_fail418:;
	    }
      }
    }
  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 ARG_UNUSED (_p2), tree *captures
)
{
/* #line 7568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      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", 7606, __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_fail419;
	return _r;
      }
next_after_fail419:;
    }
  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 (op))
{
/* #line 3399 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3402 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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", 3407, __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_fail420:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_253 (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_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", 1195, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[2];
    return _r;
  }
next_after_fail421:;
  return NULL_TREE;
}

static tree
generic_simplify_254 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (~wi::to_wide (captures[1]) == wi::to_wide (captures[2])
)
    {
      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", 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_fail422:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_255 (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 3490 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3497 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (equal == 1
)
	{
/* #line 3498 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (minmax == MIN_EXPR
)
	    {
/* #line 3499 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (known_le (off0, off1)
)
		{
		  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail423;
		  if (TREE_SIDE_EFFECTS (captures[2])) 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", 3500, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[0];
		    return _r;
		  }
next_after_fail423:;
		}
	      else
		{
/* #line 3501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (known_gt (off0, off1)
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail424;
		      if (TREE_SIDE_EFFECTS (captures[2])) 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", 3502, __FILE__, __LINE__);
		      {
			tree _r;
			_r = captures[2];
			return _r;
		      }
next_after_fail424:;
		    }
		}
	    }
	  else
	    {
/* #line 3503 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (known_ge (off0, off1)
)
		{
		  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail425;
		  if (TREE_SIDE_EFFECTS (captures[2])) 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", 3504, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[0];
		    return _r;
		  }
next_after_fail425:;
		}
	      else
		{
/* #line 3505 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (known_lt (off0, off1)
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[0])) 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", 3506, __FILE__, __LINE__);
		      {
			tree _r;
			_r = captures[2];
			return _r;
		      }
next_after_fail426:;
		    }
		}
	    }
	}
  }
  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 ARG_UNUSED (_p2), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 3654 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail427;
      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", 3657, __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_fail427:;
    }
  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 (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 6378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6380, __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_258 (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_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", 2663, __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_fail429:;
  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_fail430;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6753, __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_fail430;
    return _r;
  }
next_after_fail430:;
  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
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail431;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2334, __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_fail431:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_261 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail432;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2902, __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_fail432:;
	}
    }
  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
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (neg_cmp))
{
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
      {
/* #line 6501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree tem = const_binop (RDIV_EXPR, type, captures[2], captures[1]);
/* #line 6503 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (tem
 && !(REAL_VALUE_ISINF (TREE_REAL_CST (tem))
 || (real_zerop (tem) && !real_zerop (captures[1])))
)
	    {
/* #line 6507 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (real_less (&dconst0, TREE_REAL_CST_PTR (captures[1]))
)
		{
		  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail433;
		  if (TREE_SIDE_EFFECTS (captures[2])) 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", 6508, __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_fail433:;
		}
	      else
		{
/* #line 6509 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (real_less (TREE_REAL_CST_PTR (captures[1]), &dconst0)
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail434;
		      if (TREE_SIDE_EFFECTS (captures[2])) 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", 6510, __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_fail434:;
		    }
		}
	    }
      }
    }
  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 ARG_UNUSED (_p2), tree *captures
, const combined_fn ARG_UNUSED (cond_op))
{
  {
/* #line 8019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[4]);
/* #line 8020 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (element_precision (type) == element_precision (op_type)
)
	{
	  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", 8021, __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_fail435;
	      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_fail435:;
	}
  }
  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
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (eqcmp))
{
/* #line 5757 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
)
    {
      {
/* #line 5758 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5766 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail436;
	      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail436;
	      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", 5768, __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_fail436:;
	    }
      }
    }
  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 enum tree_code ARG_UNUSED (cmp))
{
/* #line 5311 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (REAL_VALUE_MINUS_ZERO (TREE_REAL_CST (captures[1]))
)
    {
      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", 5312, __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_fail437:;
    }
  else
    {
/* #line 5314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail438;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5316, __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_fail438:;
	}
      else
	{
/* #line 5318 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail439;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5322, __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_fail439:;
	    }
	  else
	    {
/* #line 5324 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail440;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5329, __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_fail440:;
		}
	      else
		{
/* #line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (REAL_VALUE_ISINF (TREE_REAL_CST (captures[1]))
 && MODE_HAS_INFINITIES (TYPE_MODE (TREE_TYPE (captures[1])))
)
		    {
		      {
/* #line 5333 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (code == GT_EXPR
 && !(HONOR_NANS (captures[0]) && flag_trapping_math)
)
			    {
			      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", 5345, __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_fail441:;
			    }
			  else
			    {
/* #line 5346 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      if (code == LE_EXPR
)
				{
/* #line 5348 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (! HONOR_NANS (captures[0])
)
				    {
				      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", 5349, __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_fail442:;
				    }
				  else
				    {
/* #line 5352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      if (!flag_trapping_math
)
					{
					  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", 5353, __FILE__, __LINE__);
					  {
					    if (! tree_invariant_p (captures[0])) goto next_after_fail443;
					    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_fail443:;
					}
				    }
				}
			      else
				{
/* #line 5356 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if ((code == EQ_EXPR && !(HONOR_NANS (captures[0]) && flag_trapping_math))
 || code == GE_EXPR
)
				    {
				      {
/* #line 5358 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 real_maxval (&max, neg, TYPE_MODE (TREE_TYPE (captures[0])));
/* #line 5359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					  if (neg
)
					    {
					      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", 5360, __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_fail444:;
					    }
					  else
					    {
					      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", 5361, __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_fail445:;
					    }
				      }
				    }
				  else
				    {
/* #line 5363 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      if (code == LT_EXPR
)
					{
					  {
/* #line 5364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 real_maxval (&max, neg, TYPE_MODE (TREE_TYPE (captures[0])));
/* #line 5365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      if (neg
)
						{
						  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", 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, 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_fail446:;
						}
					      else
						{
						  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", 5367, __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_fail447:;
						}
					  }
					}
				      else
					{
/* #line 5370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					  if (code == NE_EXPR
)
					    {
					      {
/* #line 5371 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 real_maxval (&max, neg, TYPE_MODE (TREE_TYPE (captures[0])));
/* #line 5372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						  if (! HONOR_NANS (captures[0])
)
						    {
/* #line 5373 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (neg
)
							{
							  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", 5374, __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_fail448:;
							}
						      else
							{
							  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", 5375, __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_fail449:;
							}
						    }
						  else
						    {
/* #line 5376 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (neg
)
							{
							  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", 5377, __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_fail450:;
							}
						      else
							{
							  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", 5378, __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_fail451:;
							}
						    }
					      }
					    }
					}
				    }
				}
			    }
		      }
		    }
		}
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_266 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (pfun))
{
/* #line 7763 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
)
    {
      {
/* #line 7764 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 wide_int nz = tree_nonzero_bits (captures[0]);
/* #line 7766 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (nz == 1
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[0])) 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", 7767, __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_fail452:;
	    }
	  else
	    {
/* #line 7768 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (wi::popcount (nz) == 1
)
		{
		  {
/* #line 7769 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
		      if (TREE_SIDE_EFFECTS (captures[0])) 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", 7770, __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_fail453:;
		  }
		}
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_267 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 1727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!HONOR_SIGN_DEPENDENT_ROUNDING (type)
 && !HONOR_SIGNED_ZEROS (type)
)
    {
      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", 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_fail454:;
    }
  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 6176 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6180 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6190 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (wi::to_wide (cst) == max
)
	    {
/* #line 6192 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (cmp == GT_EXPR
)
		{
		  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", 6193, __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_fail455:;
		}
	      else
		{
/* #line 6194 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (cmp == GE_EXPR
)
		    {
		      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", 6195, __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_fail456:;
		    }
		  else
		    {
/* #line 6196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      if (cmp == LE_EXPR
)
			{
			  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", 6197, __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_fail457:;
			}
		      else
			{
/* #line 6198 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (cmp == LT_EXPR
)
			    {
			      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", 6199, __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_fail458:;
			    }
			}
		    }
		}
	    }
	  else
	    {
/* #line 6200 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (wi::to_wide (cst) == min
)
		{
/* #line 6202 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (cmp == LT_EXPR
)
		    {
		      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", 6203, __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_fail459:;
		    }
		  else
		    {
/* #line 6204 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      if (cmp == LE_EXPR
)
			{
			  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", 6205, __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_fail460:;
			}
		      else
			{
/* #line 6206 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (cmp == GE_EXPR
)
			    {
			      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", 6207, __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_fail461:;
			    }
			  else
			    {
/* #line 6208 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      if (cmp == GT_EXPR
)
				{
				  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", 6209, __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_fail462:;
				}
			    }
			}
		    }
		}
	      else
		{
/* #line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (wi::to_wide (cst) == max - 1
)
		    {
/* #line 6212 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      if (cmp == GT_EXPR
)
			{
			  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", 6213, __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_fail463:;
			}
		      else
			{
/* #line 6217 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (cmp == LE_EXPR
)
			    {
			      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", 6218, __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_fail464:;
			    }
			}
		    }
		  else
		    {
/* #line 6222 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      if (wi::to_wide (cst) == min + 1
)
			{
/* #line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (cmp == GE_EXPR
)
			    {
			      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", 6225, __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_fail465:;
			    }
			  else
			    {
/* #line 6229 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      if (cmp == LT_EXPR
)
				{
				  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", 6230, __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_fail466:;
				}
			    }
			}
		      else
			{
/* #line 6234 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      if (cmp == LE_EXPR || cmp == GT_EXPR
)
				{
				  {
/* #line 6246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree st = signed_type_for (TREE_TYPE (captures[2]));
/* #line 6248 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      if (cst == captures[2] && cmp == LE_EXPR
)
					{
					  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", 6249, __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_fail467:;
					}
				      else
					{
/* #line 6250 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					  if (cst == captures[2] && cmp == GT_EXPR
)
					    {
					      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", 6251, __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_fail468:;
					    }
					  else
					    {
/* #line 6252 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      if (cmp == LE_EXPR
)
						{
						  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", 6253, __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_fail469:;
						}
					      else
						{
/* #line 6254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						  if (cmp == GT_EXPR
)
						    {
						      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", 6255, __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_fail470:;
						    }
						}
					    }
					}
				  }
				}
			    }
			}
		    }
		}
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_269 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 2079 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail471;
      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", 2081, __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_fail471:;
    }
  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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
)
    {
      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", 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_fail472:;
    }
  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))
{
  {
/* #line 1267 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (utype
)
	{
	  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail473;
	  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail473;
	  if (TREE_SIDE_EFFECTS (captures[3])) 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", 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_fail473:;
	}
  }
  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 combined_fn ARG_UNUSED (SINH), const combined_fn ARG_UNUSED (COSH), const combined_fn ARG_UNUSED (TANH))
{
/* #line 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      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", 6828, __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_fail474;
	return _r;
      }
next_after_fail474:;
    }
  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
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail475;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2929, __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_fail475:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_274 (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 6370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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", 6372, __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_fail476:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_275 (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_fail477;
  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_fail477;
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail477:;
  return NULL_TREE;
}

static tree
generic_simplify_276 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 4340 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (tree_nop_conversion_p (TREE_TYPE (captures[0]), 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", 4341, __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_fail478:;
    }
  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 (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 6378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail479;
      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", 6380, __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_fail479:;
    }
  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 ARG_UNUSED (_p2), tree *captures
, const combined_fn ARG_UNUSED (cond_op))
{
  {
/* #line 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[5]);
/* #line 8011 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail480;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8013, __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_fail480;
	      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_fail480:;
	}
  }
  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 (shiftrotate))
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail481;
  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", 3711, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree _r;
    _r = non_lvalue_loc (loc, res_op0);
    return _r;
  }
next_after_fail481:;
  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
)
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail482;
  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", 2658, __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_fail482:;
  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 (cmp))
{
/* #line 6156 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail483;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6168, __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_fail483:;
    }
  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 (op))
{
/* #line 1632 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (single_use (captures[4]) && single_use (captures[5])
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail484;
	  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", 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_fail484:;
	}
      else
	{
/* #line 1636 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (single_use (captures[0]) && single_use (captures[1])
)
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) 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", 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_fail485:;
	    }
	}
    }
  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 combined_fn ARG_UNUSED (hypots), const combined_fn ARG_UNUSED (copysigns))
{
  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", 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_fail486;
    if (TREE_SIDE_EFFECTS (captures[2]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    return _r;
  }
next_after_fail486:;
  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
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2932 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (TYPE_OVERFLOW_UNDEFINED (type)
 && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
)
	    {
	      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", 2934, __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_fail487:;
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_285 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2885 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (!TYPE_OVERFLOW_SANITIZED (type)
 && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
)
	{
	  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", 2887, __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_fail488:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_286 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail489;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2128, __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_fail489:;
    }
  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_fail490;
  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_fail490;
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail490:;
  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
)
{
/* #line 1680 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (TYPE_UNSIGNED (type)
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) 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", 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_fail491:;
	}
      else
	{
	  if (TREE_SIDE_EFFECTS (_p0)) 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", 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_fail492:;
	}
    }
  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
, const combined_fn ARG_UNUSED (copysigns))
{
  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", 978, __FILE__, __LINE__);
  {
    if (! tree_invariant_p (captures[1])) goto next_after_fail493;
    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_fail493:;
  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 enum tree_code ARG_UNUSED (op))
{
/* #line 3377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail494;
      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", 3379, __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_fail494:;
    }
  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 combined_fn ARG_UNUSED (POW))
{
/* #line 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      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", 6878, __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_fail495;
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail495:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_292 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
)
    {
      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", 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_fail496:;
    }
  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 3751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 unsigned int prec = element_precision (type);
/* #line 3752 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3756 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 unsigned int low = (tree_to_uhwi (captures[1])
 + tree_to_uhwi (captures[2]));
/* #line 3760 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (low >= prec
)
		{
/* #line 3761 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (op == LROTATE_EXPR || op == RROTATE_EXPR
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail497;
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail497;
		      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", 3762, __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_fail497:;
		    }
		  else
		    {
/* #line 3763 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      if (TYPE_UNSIGNED (type) || op == LSHIFT_EXPR
)
			{
			  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", 3764, __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_fail498:;
			}
		      else
			{
			  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail499;
			  if (TREE_SIDE_EFFECTS (captures[2])) 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", 3765, __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_fail499:;
			}
		    }
		}
	      else
		{
		  if (TREE_SIDE_EFFECTS (captures[1])) 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", 3766, __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_fail500:;
		}
	  }
	}
  }
  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
)
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail501;
  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", 5720, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[1];
    return _r;
  }
next_after_fail501:;
  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), const enum tree_code ARG_UNUSED (icmp), const enum tree_code ARG_UNUSED (ncmp))
{
  {
/* #line 5137 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 enum tree_code ic = invert_tree_comparison
 (cmp, HONOR_NANS (captures[0]));
/* #line 5139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (ic == icmp
)
	{
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail502;
	  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", 5140, __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_fail502:;
	}
      else
	{
/* #line 5141 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (ic == ncmp
)
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) 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", 5142, __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_fail503:;
	    }
	}
  }
  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))
{
  {
/* #line 3783 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 int c1 = wi::clz (wi::to_wide (captures[0]));
 int c2 = wi::clz (wi::to_wide (captures[2]));
/* #line 3785 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (c1 < c2
)
	{
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail504;
	  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail504;
	  if (TREE_SIDE_EFFECTS (captures[2])) 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", 3786, __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_fail504:;
	}
      else
	{
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail505;
	  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail505;
	  if (TREE_SIDE_EFFECTS (captures[2])) 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", 3787, __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_fail505:;
	}
  }
  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_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", 1164, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[2];
    return _r;
  }
next_after_fail506:;
  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
)
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail507;
  if (TREE_SIDE_EFFECTS (_p1)) 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", 2668, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    return _r;
  }
next_after_fail507:;
  return NULL_TREE;
}

static tree
generic_simplify_299 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
  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", 2066, __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_fail508:;
  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 (op))
{
/* #line 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail509;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2380, __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_fail509:;
    }
  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 (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 7899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 int prec = TYPE_PRECISION (TREE_TYPE (captures[1]));
/* #line 7901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (integer_zerop (captures[2])
)
	{
	  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", 7902, __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_fail510:;
	}
      else
	{
/* #line 7903 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (tree_int_cst_sgn (captures[2]) < 0
)
	    {
	      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", 7904, __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_fail511:;
	    }
	  else
	    {
/* #line 7905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (wi::to_widest (captures[2]) >= prec
)
		{
		  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", 7906, __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_fail512:;
		}
	      else
		{
/* #line 7907 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (wi::to_widest (captures[2]) == prec - 1
)
		    {
		      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", 7908, __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_fail513:;
		    }
		  else
		    {
/* #line 7911 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      if (single_use (captures[0])
)
			{
			  if (TREE_SIDE_EFFECTS (captures[2])) 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", 7912, __FILE__, __LINE__);
			  {
			    if (! tree_invariant_p (captures[1])) goto next_after_fail514;
			    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_fail514:;
			}
		    }
		}
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_302 (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 4436 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (BITS_PER_UNIT == 8
 && tree_fits_uhwi_p (captures[2])
 && tree_to_uhwi (captures[2]) < 256
)
    {
      {
/* #line 4439 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail515;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4445, __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_fail515:;
      }
    }
  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 combined_fn ARG_UNUSED (sq), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && ! flag_errno_math
)
    {
/* #line 5548 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (! HONOR_NANS (captures[0])
)
	{
	  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", 5549, __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_fail516:;
	}
    }
  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 combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail517;
  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", 6778, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[1];
    return _r;
  }
next_after_fail517:;
  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 (op), const enum tree_code ARG_UNUSED (neg_op))
{
/* #line 661 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
/* #line 668 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (!HONOR_SIGNED_ZEROS (captures[1]) && !HONOR_INFINITIES (captures[1])
)
	{
/* #line 670 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (real_less (&dconst0, TREE_REAL_CST_PTR (captures[0]))
)
	    {
	      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", 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_fail518:;
	    }
	  else
	    {
/* #line 673 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (real_less (TREE_REAL_CST_PTR (captures[0]), &dconst0)
)
		{
		  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", 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_fail519:;
		}
	    }
	}
    }
  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
, const enum tree_code ARG_UNUSED (op))
{
/* #line 3385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3389 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail520;
	  if (TREE_SIDE_EFFECTS (captures[4])) 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", 3395, __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_fail520:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_307 (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 6332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6337 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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", 6341, __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_fail521:;
      }
    }
  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 1585 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail522;
      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_fail522:;
    }
  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
)
{
  if (TREE_SIDE_EFFECTS (_p1)) 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", 2653, __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_fail523:;
  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
, const enum tree_code ARG_UNUSED (op))
{
/* #line 7310 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7329 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
)
	{
	  {
/* #line 7330 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree ntype = TREE_TYPE (captures[2]);
	      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", 7331, __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_fail524:;
	  }
	}
      else
	{
	  {
/* #line 7332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
	      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", 7333, __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_fail525:;
	  }
	}
    }
  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 2286 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2289 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[1]));
	  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", 2290, __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_fail526:;
      }
    }
  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 enum tree_code ARG_UNUSED (bitop), const enum tree_code ARG_UNUSED (rbitop))
{
  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", 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_fail527:;
  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 (cmp))
{
/* #line 5265 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail528;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5268, __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_fail528:;
    }
  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
, const combined_fn ARG_UNUSED (copysigns))
{
/* #line 964 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]))
)
    {
      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", 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_fail529:;
    }
  else
    {
      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", 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_fail530:;
    }
  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
, const enum tree_code ARG_UNUSED (rotate))
{
  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", 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_fail531:;
  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 combined_fn ARG_UNUSED (TANH), const combined_fn ARG_UNUSED (SINH), const combined_fn ARG_UNUSED (COSH))
{
/* #line 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      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", 6833, __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_fail532;
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail532:;
    }
  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
)
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail533;
  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", 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_fail533:;
  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
)
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail534;
  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", 2653, __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_fail534:;
  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
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail535;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2926, __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_fail535:;
	}
    }
  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 996 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail536;
      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_fail536:;
    }
  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 (shiftrotate))
{
  {
/* #line 3720 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree tem = uniform_vector_p (captures[1]);
/* #line 3721 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (tem
)
	{
	  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", 3722, __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_fail537:;
	}
  }
  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
, const combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
/* #line 327 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) 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", 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_fail538:;
    }
  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
)
{
/* #line 8369 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail539;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8370, __FILE__, __LINE__);
      {
	if (! tree_invariant_p (captures[2])) goto next_after_fail539;
	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_fail539:;
    }
  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 (outer_op), const enum tree_code ARG_UNUSED (inner_op))
{
/* #line 217 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (real_zerop (captures[2])
 && real_zerop (captures[3])
 && !HONOR_SIGN_DEPENDENT_ROUNDING (type)
)
    {
      {
/* #line 220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (outer_plus && !inner_plus
)
	    {
	      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", 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_fail540:;
	    }
	  else
	    {
	      if (TREE_SIDE_EFFECTS (_p0)) 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", 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_fail541:;
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_325 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const enum tree_code ARG_UNUSED (minmax))
{
/* #line 3513 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail542;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3517, __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_fail542:;
    }
  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 (shift), const enum tree_code ARG_UNUSED (mod))
{
/* #line 805 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (integer_pow2p (captures[3]) && tree_int_cst_sgn (captures[3]) > 0
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) 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", 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_fail543:;
    }
  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
)
{
/* #line 359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_UNDEFINED (type)
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail544;
      if (TREE_SIDE_EFFECTS (_p1)) 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", 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_fail544:;
    }
  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))
{
/* #line 2175 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
)
    {
/* #line 2177 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail545;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2178, __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_fail545:;
	}
      else
	{
/* #line 2179 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail546;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2181, __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_fail546:;
	    }
	}
    }
  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 (cmp), const enum tree_code ARG_UNUSED (ocmp))
{
/* #line 2414 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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", 2418, __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_fail547:;
    }
  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_fail548;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7177, __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_fail548:;
  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 enum tree_code ARG_UNUSED (rotate), const enum tree_code ARG_UNUSED (invrot), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 4007 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (integer_zerop (captures[2]) || integer_all_onesp (captures[2])
)
    {
      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", 4008, __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_fail549:;
    }
  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 614 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (SCALAR_FLOAT_TYPE_P (type)
 && ! HONOR_NANS (type)
 && ! HONOR_INFINITIES (type)
)
    {
/* #line 618 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (types_match (type, float_type_node)
)
	{
	  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", 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_fail550;
	    return _r;
	  }
next_after_fail550:;
	}
      else
	{
/* #line 620 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (types_match (type, double_type_node)
)
	    {
	      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", 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_fail551;
		return _r;
	      }
next_after_fail551:;
	    }
	  else
	    {
/* #line 622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (types_match (type, long_double_type_node)
)
		{
		  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", 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_fail552;
		    return _r;
		  }
next_after_fail552:;
		}
	    }
	}
    }
  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
)
{
  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", 2121, __FILE__, __LINE__);
  {
    if (! tree_invariant_p (captures[1])) goto next_after_fail553;
    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_fail553:;
  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
)
{
  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", 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_fail554:;
  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 (icmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 5154 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (types_match (type, TREE_TYPE (captures[0]))
)
    {
      {
/* #line 5155 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 enum tree_code ic = invert_tree_comparison
 (cmp, HONOR_NANS (captures[1]));
/* #line 5157 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (ic == icmp
)
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail555;
	      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", 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_fail555:;
	    }
	  else
	    {
/* #line 5159 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (ic == ncmp
)
		{
		  if (TREE_SIDE_EFFECTS (_p1)) 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", 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_fail556:;
		}
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_336 (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.5.0-r0/gcc-13.5.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_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", 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_fail557:;
    }
  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
, const enum tree_code ARG_UNUSED (cmp), const combined_fn ARG_UNUSED (ffs))
{
  {
/* #line 7878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 int prec = TYPE_PRECISION (TREE_TYPE (captures[1]));
/* #line 7880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 7881, __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_fail558:;
	}
      else
	{
/* #line 7882 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail559;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7883, __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_fail559:;
	    }
	  else
	    {
/* #line 7884 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (single_use (captures[0])
)
		{
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail560;
		  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", 7885, __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_fail560:;
		}
	    }
	}
  }
  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 (cmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 6078 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[1]));
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail561;
	  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", 6083, __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_fail561:;
      }
    }
  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
, const enum tree_code ARG_UNUSED (shiftrotate))
{
  {
/* #line 3720 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree tem = uniform_vector_p (captures[1]);
/* #line 3721 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (tem
)
	{
	  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", 3722, __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_fail562:;
	}
  }
  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
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail563;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3121, __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_fail563:;
	    }
	}
    }
  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
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5824 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (TREE_CODE (captures[2]) == INTEGER_CST
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail564;
	      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", 5825, __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_fail564:;
	    }
	  else
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail565;
	      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", 5827, __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_fail565:;
	    }
	}
      else
	{
/* #line 5829 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
)
	    {
/* #line 5831 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail566;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5843, __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_fail566:;
		}
	      else
		{
/* #line 5844 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5847 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5854 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (above || below
)
			    {
/* #line 5855 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      if (cmp == EQ_EXPR || cmp == NE_EXPR
)
				{
				  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", 5856, __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_fail567:;
				}
			      else
				{
/* #line 5857 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (cmp == LT_EXPR || cmp == LE_EXPR
)
				    {
				      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", 5858, __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_fail568:;
				    }
				  else
				    {
/* #line 5859 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      if (cmp == GT_EXPR || cmp == GE_EXPR
)
					{
					  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", 5860, __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_fail569:;
					}
				    }
				}
			    }
		      }
		    }
		}
	    }
	}
    }
  else
    {
/* #line 5862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5884 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (newtype)
)
		{
		  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", 5885, __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_fail570:;
		}
	  }
	}
    }
  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
)
{
/* #line 3625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && (
0
 || !TREE_SIDE_EFFECTS (captures[1]))
)
    {
      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", 3627, __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_fail571:;
    }
  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
, const combined_fn ARG_UNUSED (POW))
{
/* #line 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      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", 6862, __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_fail572;
	return _r;
      }
next_after_fail572:;
    }
  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
)
{
  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", 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_fail573:;
  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), const enum tree_code ARG_UNUSED (scmp))
{
/* #line 5782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5785 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree tem = const_unop (NEGATE_EXPR, TREE_TYPE (captures[0]), captures[1]);
/* #line 5786 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (tem && !TREE_OVERFLOW (tem)
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail574;
	      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", 5787, __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_fail574:;
	    }
      }
    }
  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 (code2), const enum tree_code ARG_UNUSED (code1))
{
  {
/* #line 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 int cmp = tree_int_cst_compare (captures[2], captures[4]);
/* #line 2739 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if ((code1 == LT_EXPR || code1 == LE_EXPR)
 && (code2 == LT_EXPR || code2 == LE_EXPR)
)
	{
/* #line 2741 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if ((cmp < 0) || (cmp == 0 && code1 == LT_EXPR)
)
	    {
	      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail575;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail575;
	      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", 2742, __FILE__, __LINE__);
	      {
		tree _r;
		_r = captures[0];
		return _r;
	      }
next_after_fail575:;
	    }
	  else
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail576;
	      if (TREE_SIDE_EFFECTS (captures[2])) 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", 2743, __FILE__, __LINE__);
	      {
		tree _r;
		_r = captures[3];
		return _r;
	      }
next_after_fail576:;
	    }
	}
      else
	{
/* #line 2745 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if ((code1 == GT_EXPR || code1 == GE_EXPR)
 && (code2 == GT_EXPR || code2 == GE_EXPR)
)
	    {
/* #line 2747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if ((cmp > 0) || (cmp == 0 && code1 == GT_EXPR)
)
		{
		  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail577;
		  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail577;
		  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", 2748, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[0];
		    return _r;
		  }
next_after_fail577:;
		}
	      else
		{
		  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail578;
		  if (TREE_SIDE_EFFECTS (captures[2])) 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", 2749, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[3];
		    return _r;
		  }
next_after_fail578:;
		}
	    }
	  else
	    {
/* #line 2751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail579;
		  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail579;
		  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", 2754, __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_fail579:;
		}
	      else
		{
/* #line 2756 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail580;
		      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail580;
		      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", 2759, __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_fail580:;
		    }
		  else
		    {
/* #line 2760 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail581;
			  if (TREE_SIDE_EFFECTS (captures[4])) 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", 2763, __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_fail581:;
			}
		    }
		}
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_347 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 2091 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
    {
      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", 2092, __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_fail582:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && ! flag_errno_math
)
    {
/* #line 5413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]))
)
	{
/* #line 5416 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (cmp == EQ_EXPR || cmp == LT_EXPR || cmp == LE_EXPR
)
	    {
	      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", 5417, __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_fail583:;
	    }
	  else
	    {
/* #line 5420 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (cmp == NE_EXPR || !HONOR_NANS (captures[0])
)
		{
		  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", 5421, __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_fail584:;
		}
	      else
		{
		  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", 5423, __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_fail585:;
		}
	    }
	}
      else
	{
/* #line 5424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (real_equal (TREE_REAL_CST_PTR (captures[1]), &dconst0)
)
	    {
/* #line 5427 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (cmp == LT_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", 5428, __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_fail586:;
		}
	      else
		{
/* #line 5430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (cmp == GE_EXPR && !HONOR_NANS (captures[0])
)
		    {
		      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", 5431, __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_fail587:;
		    }
		  else
		    {
/* #line 5433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      if (cmp == LE_EXPR
)
			{
			  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", 5434, __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_fail588:;
			}
		      else
			{
			  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", 5442, __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_fail589:;
			}
		    }
		}
	    }
	  else
	    {
/* #line 5443 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5500 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      if (cmp == GT_EXPR || cmp == GE_EXPR
)
			{
/* #line 5501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (REAL_VALUE_ISINF (c2)
)
			    {
/* #line 5503 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      if (HONOR_INFINITIES (captures[0])
)
				{
				  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", 5504, __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_fail590:;
				}
			      else
				{
				  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", 5505, __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_fail591:;
				}
			    }
			  else
			    {
/* #line 5507 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      if (ncmp != ERROR_MARK
)
				{
/* #line 5508 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (ncmp == GE_EXPR
)
				    {
				      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", 5509, __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_fail592:;
				    }
				  else
				    {
				      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", 5510, __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_fail593:;
				    }
				}
			    }
			}
		      else
			{
/* #line 5512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (REAL_VALUE_ISINF (c2)
)
			    {
/* #line 5516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      if (! HONOR_NANS (captures[0]) && ! HONOR_INFINITIES (captures[0])
)
				{
				  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", 5517, __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_fail594:;
				}
			      else
				{
/* #line 5520 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (! HONOR_NANS (captures[0])
)
				    {
				      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", 5521, __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_fail595:;
				    }
				  else
				    {
/* #line 5524 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      if (! HONOR_INFINITIES (captures[0])
)
					{
					  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", 5525, __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_fail596:;
					}
				      else
					{
/* #line 5527 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					  if (1
)
					    {
					      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", 5528, __FILE__, __LINE__);
					      {
						if (! tree_invariant_p (captures[0])) goto next_after_fail597;
						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_fail597:;
					    }
					}
				    }
				}
			    }
			  else
			    {
/* #line 5532 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      if (ncmp != ERROR_MARK && ! HONOR_NANS (captures[0])
)
				{
/* #line 5533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (ncmp == LT_EXPR
)
				    {
				      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", 5534, __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_fail598:;
				    }
				  else
				    {
				      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", 5535, __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_fail599:;
				    }
				}
			      else
				{
/* #line 5537 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (ncmp != ERROR_MARK &&
1
)
				    {
/* #line 5538 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      if (ncmp == LT_EXPR
)
					{
					  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", 5539, __FILE__, __LINE__);
					  {
					    if (! tree_invariant_p (captures[0])) goto next_after_fail600;
					    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_fail600:;
					}
				      else
					{
					  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", 5542, __FILE__, __LINE__);
					  {
					    if (! tree_invariant_p (captures[0])) goto next_after_fail601;
					    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_fail601:;
					}
				    }
				}
			    }
			}
		  }
		}
	    }
	}
    }
  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
)
{
  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", 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_fail602:;
  return NULL_TREE;
}

static tree
generic_simplify_350 (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 5776 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail603;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5779, __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_fail603:;
    }
  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
)
{
/* #line 7568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      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", 7592, __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_fail604;
	return _r;
      }
next_after_fail604:;
    }
  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 (code2), const enum tree_code ARG_UNUSED (code1))
{
  {
/* #line 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (code1 == EQ_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", 2789, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[3];
	    return _r;
	  }
next_after_fail605:;
	}
      else
	{
/* #line 2790 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (code1 == NE_EXPR && val
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail606;
	      if (TREE_SIDE_EFFECTS (captures[4])) 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", 2790, __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_fail606:;
	    }
	  else
	    {
/* #line 2791 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (code1 == NE_EXPR && !val
)
		{
		  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail607;
		  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail607;
		  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", 2791, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[0];
		    return _r;
		  }
next_after_fail607:;
		}
	    }
	}
  }
  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 (icmp))
{
/* #line 5585 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (SCALAR_FLOAT_TYPE_P (TREE_TYPE (captures[1]))
 && ! DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[1]))
)
    {
      {
/* #line 5587 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5602 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (fmt.can_represent_integral_type_p (itype) && ! exception_p
)
	    {
	      {
/* #line 5603 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5626 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (real_compare (LT_EXPR, cst, &imin)
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail608;
		      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", 5627, __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_fail608:;
		    }
		  else
		    {
/* #line 5629 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      if (real_compare (GT_EXPR, cst, &imax)
)
			{
			  if (TREE_SIDE_EFFECTS (captures[1])) 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", 5630, __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_fail609:;
			}
		      else
			{
/* #line 5633 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (cst_int_p
)
			    {
			      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail610;
			      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", 5634, __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_fail610:;
			    }
			  else
			    {
/* #line 5640 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      if (cmp == EQ_EXPR || cmp == NE_EXPR
)
				{
				  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail611;
				  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", 5641, __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_fail611:;
				}
			      else
				{
				  {
/* #line 5643 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 gcc_checking_assert (!overflow_p);
				      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail612;
				      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", 5647, __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_fail612:;
				  }
				}
			    }
			}
		    }
	      }
	    }
      }
    }
  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 enum tree_code ARG_UNUSED (eqne))
{
/* #line 2627 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (eqne == EQ_EXPR
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) 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", 2628, __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_fail613:;
    }
  else
    {
/* #line 2629 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (eqne == NE_EXPR
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail614;
	  if (TREE_SIDE_EFFECTS (_p1)) 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", 2630, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[0];
	    return _r;
	  }
next_after_fail614:;
	}
    }
  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
, const combined_fn ARG_UNUSED (SIN), const combined_fn ARG_UNUSED (COS), const combined_fn ARG_UNUSED (TAN))
{
/* #line 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      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", 6823, __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_fail615;
	return _r;
      }
next_after_fail615:;
    }
  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 (op))
{
/* #line 1571 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail616;
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail616;
      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", 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_fail616:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_357 (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 7105 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (canonicalize_math_p ()
)
    {
/* #line 7118 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail617;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7122, __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_fail617;
	    return _r;
	  }
next_after_fail617:;
	}
    }
  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
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2232 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (code == LT_EXPR || code == GE_EXPR
)
	    {
/* #line 2233 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (TREE_OVERFLOW (lo)
)
		{
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail618;
		  if (TREE_SIDE_EFFECTS (captures[3])) 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", 2234, __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_fail618:;
		}
	      else
		{
/* #line 2235 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (code == LT_EXPR
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail619;
		      if (TREE_SIDE_EFFECTS (captures[3])) 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", 2236, __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_fail619:;
		    }
		  else
		    {
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail620;
		      if (TREE_SIDE_EFFECTS (captures[3])) 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", 2237, __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_fail620:;
		    }
		}
	    }
	  else
	    {
/* #line 2238 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (code == LE_EXPR || code == GT_EXPR
)
		{
/* #line 2239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (TREE_OVERFLOW (hi)
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail621;
		      if (TREE_SIDE_EFFECTS (captures[3])) 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", 2240, __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_fail621:;
		    }
		  else
		    {
/* #line 2241 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      if (code == LE_EXPR
)
			{
			  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail622;
			  if (TREE_SIDE_EFFECTS (captures[3])) 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", 2242, __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_fail622:;
			}
		      else
			{
			  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail623;
			  if (TREE_SIDE_EFFECTS (captures[3])) 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", 2243, __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_fail623:;
			}
		    }
		}
	      else
		{
/* #line 2244 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (!lo && !hi
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail624;
		      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail624;
		      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", 2245, __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_fail624:;
		    }
		  else
		    {
/* #line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      if (code == EQ_EXPR && !hi
)
			{
			  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail625;
			  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail625;
			  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", 2247, __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_fail625:;
			}
		      else
			{
/* #line 2248 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (code == EQ_EXPR && !lo
)
			    {
			      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail626;
			      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail626;
			      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", 2249, __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_fail626:;
			    }
			  else
			    {
/* #line 2250 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      if (code == NE_EXPR && !hi
)
				{
				  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail627;
				  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail627;
				  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", 2251, __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_fail627:;
				}
			      else
				{
/* #line 2252 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (code == NE_EXPR && !lo
)
				    {
				      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail628;
				      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail628;
				      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", 2253, __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_fail628:;
				    }
				  else
				    {
/* #line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      if (1
)
					{
					  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail629;
					  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail629;
					  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail629;
					  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", 2255, __FILE__, __LINE__);
					  {
					    tree _r;
					    _r =  build_range_check (UNKNOWN_LOCATION, type, captures[1], code == EQ_EXPR,
 lo, hi);
					    return _r;
					  }
next_after_fail629:;
					}
				      else
					{
					  {
/* #line 2257 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2267 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      if (etype && hi && !TREE_OVERFLOW (hi)
)
						{
/* #line 2268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						  if (code == EQ_EXPR
)
						    {
						      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail630;
						      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail630;
						      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", 2269, __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_fail630:;
						    }
						  else
						    {
						      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail631;
						      if (TREE_SIDE_EFFECTS (captures[3])) 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", 2270, __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_fail631:;
						    }
						}
					  }
					}
				    }
				}
			    }
			}
		    }
		}
	    }
      }
    }
  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 (cmp))
{
/* #line 3817 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3820 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail632;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3821, __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_fail632:;
	}
      else
	{
	  {
/* #line 3822 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail633;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail633;
	      if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail633;
	      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", 3825, __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_fail633:;
	  }
	}
    }
  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 enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 4725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 4776 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (code == MAX_EXPR
)
	{
	  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail634;
	  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail634;
	  if (TREE_SIDE_EFFECTS (captures[2])) 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", 4777, __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_fail634:;
	}
      else
	{
/* #line 4778 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (code == MIN_EXPR
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail635;
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail635;
	      if (TREE_SIDE_EFFECTS (captures[2])) 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", 4779, __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_fail635:;
	    }
	  else
	    {
/* #line 4780 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (code == EQ_EXPR
)
		{
		  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail636;
		  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail636;
		  if (TREE_SIDE_EFFECTS (captures[2])) 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", 4781, __FILE__, __LINE__);
		  {
		    if (! tree_invariant_p (captures[1])) goto next_after_fail636;
		    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_fail636:;
		}
	    }
	}
  }
  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 combined_fn ARG_UNUSED (froms), const combined_fn ARG_UNUSED (tos))
{
/* #line 6987 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail637;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6991, __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_fail637;
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	return _r;
      }
next_after_fail637:;
    }
  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
)
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail638;
  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", 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_fail638:;
  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 combined_fn ARG_UNUSED (FMAX_ALL))
{
/* #line 3533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_finite_math_only
)
    {
      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", 3539, __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_fail639:;
    }
  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 enum tree_code ARG_UNUSED (op))
{
/* #line 7209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7229 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
)
	{
	  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", 7230, __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_fail640:;
	}
      else
	{
	  {
/* #line 7231 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
	      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", 7232, __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_fail641:;
	  }
	}
    }
  else
    {
/* #line 7234 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (FLOAT_TYPE_P (type)
 && DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 == DECIMAL_FLOAT_TYPE_P (type)
)
	{
	  {
/* #line 7237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7243 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (FLOAT_TYPE_P (ty1)
 && FLOAT_TYPE_P (ty2)
)
		{
		  {
/* #line 7245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7258 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail642;
			  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail642;
			  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", 7263, __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_fail642:;
			}
		      else
			{
			  {
/* #line 7264 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 if (TYPE_PRECISION (ty1) > TYPE_PRECISION (newtype))
 newtype = ty1;
 if (TYPE_PRECISION (ty2) > TYPE_PRECISION (newtype))
 newtype = ty2;
/* #line 7289 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail643;
				  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail643;
				  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", 7296, __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_fail643:;
				}
			  }
			}
		  }
		}
	  }
	}
    }
  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
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
 && !TYPE_OVERFLOW_SANITIZED (type)
)
	{
	  {
/* #line 2842 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail644;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2849, __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_fail644:;
	  }
	}
    }
  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
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2200 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (element_precision (captures[0]) >= element_precision (captures[1])
 && types_match (captures[1], captures[3])
)
    {
/* #line 2202 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (wi::lt_p (wi::to_wide (captures[2]), 0, TYPE_SIGN (TREE_TYPE (captures[2])))
)
	{
/* #line 2203 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (!TYPE_UNSIGNED (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", 2204, __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_fail645:;
	    }
	  else
	    {
/* #line 2205 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (tree_expr_nonzero_p (captures[1]) && tree_expr_nonzero_p (captures[3])
)
		{
		  {
/* #line 2206 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[1]));
		      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", 2210, __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_fail646:;
		  }
		}
	    }
	}
      else
	{
/* #line 2211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (wi::gt_p (wi::to_wide (captures[2]), 1, TYPE_SIGN (TREE_TYPE (captures[2])))
)
	    {
/* #line 2212 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail647;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2213, __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_fail647:;
		}
	      else
		{
		  {
/* #line 2214 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[1]));
		      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", 2218, __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_fail648:;
		  }
		}
	    }
	}
    }
  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
)
{
/* #line 3439 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail649;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3442, __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_fail649:;
    }
  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 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6118 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (equal == 1
)
	{
/* #line 6120 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail650;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail650;
	      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", 6121, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  constant_boolean_node (known_eq (off0, off1), type);
		return _r;
	      }
next_after_fail650:;
	    }
	  else
	    {
/* #line 6122 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail651;
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail651;
		  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", 6123, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r =  constant_boolean_node (known_ne (off0, off1), type);
		    return _r;
		  }
next_after_fail651:;
		}
	      else
		{
/* #line 6124 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail652;
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail652;
		      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", 6125, __FILE__, __LINE__);
		      {
			tree _r;
			_r =  constant_boolean_node (known_lt (off0, off1), type);
			return _r;
		      }
next_after_fail652:;
		    }
		  else
		    {
/* #line 6126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail653;
			  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail653;
			  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", 6127, __FILE__, __LINE__);
			  {
			    tree _r;
			    _r =  constant_boolean_node (known_le (off0, off1), type);
			    return _r;
			  }
next_after_fail653:;
			}
		      else
			{
/* #line 6128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail654;
			      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", 6129, __FILE__, __LINE__);
			      {
				tree _r;
				_r =  constant_boolean_node (known_ge (off0, off1), type);
				return _r;
			      }
next_after_fail654:;
			    }
			  else
			    {
/* #line 6130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail655;
				  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail655;
				  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", 6131, __FILE__, __LINE__);
				  {
				    tree _r;
				    _r =  constant_boolean_node (known_gt (off0, off1), type);
				    return _r;
				  }
next_after_fail655:;
				}
			    }
			}
		    }
		}
	    }
	}
      else
	{
/* #line 6132 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (equal == 0
)
	    {
/* #line 6134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (cmp == EQ_EXPR
)
		{
		  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail656;
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail656;
		  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", 6135, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r =  constant_boolean_node (false, type);
		    return _r;
		  }
next_after_fail656:;
		}
	      else
		{
/* #line 6136 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (cmp == NE_EXPR
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail657;
		      if (TREE_SIDE_EFFECTS (captures[2])) 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", 6137, __FILE__, __LINE__);
		      {
			tree _r;
			_r =  constant_boolean_node (true, type);
			return _r;
		      }
next_after_fail657:;
		    }
		}
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_369 (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.5.0-r0/gcc-13.5.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_fail658;
      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_fail658:;
    }
  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 ARG_UNUSED (_p2), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 3642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail659;
      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail659;
      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail659;
      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", 3645, __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_fail659:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_371 (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 6143 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail660;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6145, __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_fail660:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_372 (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.5.0-r0/gcc-13.5.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_fail661;
      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_fail661:;
    }
  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 (op))
{
/* #line 2320 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[2]))
)
    {
      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", 2321, __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_fail662:;
    }
  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
)
{
  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", 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_fail663:;
  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 ARG_UNUSED (_p2), tree *captures
, const combined_fn ARG_UNUSED (fmas))
{
/* #line 7568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      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", 7578, __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_fail664;
	return _r;
      }
next_after_fail664:;
    }
  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 (bswap))
{
/* #line 4375 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (BITS_PER_UNIT == 8
 && tree_fits_uhwi_p (captures[3])
 && tree_fits_uhwi_p (captures[4])
)
    {
      {
/* #line 4378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 4386 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (bits < prec
 && mask < (256u>>lo)
 && bits < TYPE_PRECISION (TREE_TYPE(captures[0]))
)
	    {
	      {
/* #line 4389 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 unsigned HOST_WIDE_INT ns = (prec - (hi + 8)) + lo;
/* #line 4390 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (ns == 0
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail665;
		      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail665;
		      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", 4391, __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_fail665:;
		    }
		  else
		    {
		      {
/* #line 4392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail666;
			  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail666;
			  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", 4397, __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_fail666:;
		      }
		    }
	      }
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_377 (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 5968 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (tree_single_nonzero_warnv_p (captures[0], NULL)
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) 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", 5969, __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_fail667:;
    }
  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
, const enum tree_code ARG_UNUSED (logic), const enum tree_code ARG_UNUSED (op), const enum tree_code ARG_UNUSED (ext))
{
/* #line 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail668;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7345, __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_fail668:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_379 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 5076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail669;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5081, __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_fail669:;
    }
  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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3195 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3199 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
		  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", 3200, __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_fail670:;
	      }
	    }
	  else
	    {
/* #line 3201 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail671;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3215, __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_fail671:;
		}
	    }
	}
    }
  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_fail672;
  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_fail672:;
  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
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail673;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2374, __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_fail673:;
    }
  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
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 6332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6337 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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", 6341, __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_fail674:;
      }
    }
  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 enum tree_code ARG_UNUSED (op))
{
  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", 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_fail675:;
  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 (bitop), const enum tree_code ARG_UNUSED (op))
{
  {
/* #line 1245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (utype
)
	{
	  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail676;
	  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail676;
	  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail676;
	  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail676;
	  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail676;
	  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", 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_fail676:;
	}
  }
  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
)
{
/* #line 4232 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (TREE_CODE (TREE_TYPE (captures[1])) != COMPLEX_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", 4233, __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_fail677:;
    }
  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 (minmax), const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 3563 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && (!VECTOR_TYPE_P (TREE_TYPE (captures[0]))
 || (VECTOR_TYPE_P (type)
 && (!expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, cmp)
 || expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, out))))
)
    {
      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", 3568, __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_fail678:;
    }
  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 *captures
)
{
  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", 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_fail679:;
  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
)
{
  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", 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_fail680:;
  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 enum tree_code ARG_UNUSED (cmp))
{
/* #line 5188 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail681;
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail681;
      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", 5191, __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_fail681:;
    }
  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
)
{
  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", 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_fail682:;
  return NULL_TREE;
}

static tree
generic_simplify_392 (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_fail683;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4361, __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_fail683;
      res_op1 = _r1;
    }
    tree _r;
    _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
    return _r;
  }
next_after_fail683:;
  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 (sins), const combined_fn ARG_UNUSED (atans), const combined_fn ARG_UNUSED (sqrts), const combined_fn ARG_UNUSED (copysigns))
{
  {
/* #line 6693 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6700 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (SCALAR_FLOAT_TYPE_P (type)
)
	{
	  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", 6701, __FILE__, __LINE__);
	  {
	    if (! tree_invariant_p (captures[1])) goto next_after_fail684;
	    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_fail684;
		_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_fail684;
	      res_op2 = _r1;
	    }
	    tree _r;
	    _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
	    return _r;
	  }
next_after_fail684:;
	}
  }
  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 (div))
{
/* #line 680 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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", 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_fail685:;
    }
  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 (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 6388 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[2])) && !VECTOR_TYPE_P (TREE_TYPE (captures[2]))
)
    {
      {
/* #line 6389 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree t = TREE_TYPE (captures[2]), cpx = build_complex_type (t);
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail686;
	  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", 6390, __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_fail686;
		_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_fail686:;
      }
    }
  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
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail687;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6354, __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_fail687:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_397 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), 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", 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_fail688:;
  return NULL_TREE;
}

static tree
generic_simplify_398 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
  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", 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_fail689:;
  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 (op))
{
/* #line 2305 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail690;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2307, __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_fail690:;
    }
  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
, const enum tree_code ARG_UNUSED (mod))
{
/* #line 728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!integer_zerop (captures[0])
)
    {
      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", 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_fail691:;
    }
  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 (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail692;
  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", 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_fail692:;
  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 (cmp))
{
/* #line 6399 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree t = TREE_TYPE (captures[2]), cpx = build_complex_type (t);
	  if (TREE_SIDE_EFFECTS (_p1)) 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", 6411, __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_fail693;
		_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_fail693:;
      }
    }
  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))
{
  if (TREE_SIDE_EFFECTS (_p0)) 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", 1190, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    return _r;
  }
next_after_fail694:;
  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
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6176 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6180 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6190 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (wi::to_wide (cst) == max
)
	    {
/* #line 6192 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (cmp == GT_EXPR
)
		{
		  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", 6193, __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_fail695:;
		}
	      else
		{
/* #line 6194 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (cmp == GE_EXPR
)
		    {
		      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail696;
		      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", 6195, __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_fail696:;
		    }
		  else
		    {
/* #line 6196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      if (cmp == LE_EXPR
)
			{
			  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", 6197, __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_fail697:;
			}
		      else
			{
/* #line 6198 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (cmp == LT_EXPR
)
			    {
			      if (TREE_SIDE_EFFECTS (_p0)) 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", 6199, __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_fail698:;
			    }
			}
		    }
		}
	    }
	  else
	    {
/* #line 6200 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (wi::to_wide (cst) == min
)
		{
/* #line 6202 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (cmp == LT_EXPR
)
		    {
		      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", 6203, __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_fail699:;
		    }
		  else
		    {
/* #line 6204 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      if (cmp == LE_EXPR
)
			{
			  if (TREE_SIDE_EFFECTS (_p0)) 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", 6205, __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_fail700:;
			}
		      else
			{
/* #line 6206 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (cmp == GE_EXPR
)
			    {
			      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", 6207, __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_fail701:;
			    }
			  else
			    {
/* #line 6208 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      if (cmp == GT_EXPR
)
				{
				  if (TREE_SIDE_EFFECTS (_p0)) 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", 6209, __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_fail702:;
				}
			    }
			}
		    }
		}
	      else
		{
/* #line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (wi::to_wide (cst) == max - 1
)
		    {
/* #line 6212 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      if (cmp == GT_EXPR
)
			{
			  if (TREE_SIDE_EFFECTS (_p0)) 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", 6213, __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_fail703:;
			}
		      else
			{
/* #line 6217 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (cmp == LE_EXPR
)
			    {
			      if (TREE_SIDE_EFFECTS (_p0)) 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", 6218, __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_fail704:;
			    }
			}
		    }
		  else
		    {
/* #line 6222 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      if (wi::to_wide (cst) == min + 1
)
			{
/* #line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (cmp == GE_EXPR
)
			    {
			      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail705;
			      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", 6225, __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_fail705:;
			    }
			  else
			    {
/* #line 6229 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      if (cmp == LT_EXPR
)
				{
				  if (TREE_SIDE_EFFECTS (_p0)) 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", 6230, __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_fail706:;
				}
			    }
			}
		      else
			{
/* #line 6234 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      if (cmp == LE_EXPR || cmp == GT_EXPR
)
				{
				  {
/* #line 6246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree st = signed_type_for (TREE_TYPE (captures[2]));
/* #line 6248 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      if (cst == captures[2] && cmp == LE_EXPR
)
					{
					  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", 6249, __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_fail707:;
					}
				      else
					{
/* #line 6250 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					  if (cst == captures[2] && cmp == GT_EXPR
)
					    {
					      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", 6251, __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_fail708:;
					    }
					  else
					    {
/* #line 6252 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      if (cmp == LE_EXPR
)
						{
						  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", 6253, __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_fail709:;
						}
					      else
						{
/* #line 6254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						  if (cmp == GT_EXPR
)
						    {
						      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", 6255, __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_fail710:;
						    }
						}
					    }
					}
				  }
				}
			    }
			}
		    }
		}
	    }
      }
    }
  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
)
{
  if (TREE_SIDE_EFFECTS (_p0)) 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", 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_fail711:;
  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
)
{
  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", 1220, __FILE__, __LINE__);
  {
    if (! tree_invariant_p (captures[3])) goto next_after_fail712;
    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_fail712;
	_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_fail712;
      res_op1 = _r1;
    }
    tree _r;
    _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail712:;
  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 (code2), const enum tree_code ARG_UNUSED (code1))
{
  {
/* #line 2799 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 int cmp = tree_int_cst_compare (captures[2], captures[4]);
/* #line 2805 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if ((code1 == LT_EXPR || code1 == LE_EXPR)
 && (code2 == LT_EXPR || code2 == LE_EXPR)
)
	{
/* #line 2807 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if ((cmp < 0) || (cmp == 0 && code1 == LT_EXPR)
)
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail713;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail713;
	      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", 2808, __FILE__, __LINE__);
	      {
		tree _r;
		_r = captures[3];
		return _r;
	      }
next_after_fail713:;
	    }
	  else
	    {
	      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail714;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail714;
	      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", 2809, __FILE__, __LINE__);
	      {
		tree _r;
		_r = captures[0];
		return _r;
	      }
next_after_fail714:;
	    }
	}
      else
	{
/* #line 2811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if ((code1 == GT_EXPR || code1 == GE_EXPR)
 && (code2 == GT_EXPR || code2 == GE_EXPR)
)
	    {
/* #line 2813 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if ((cmp > 0) || (cmp == 0 && code1 == GT_EXPR)
)
		{
		  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail715;
		  if (TREE_SIDE_EFFECTS (captures[2])) 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", 2814, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[3];
		    return _r;
		  }
next_after_fail715:;
		}
	      else
		{
		  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail716;
		  if (TREE_SIDE_EFFECTS (captures[4])) 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", 2815, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[0];
		    return _r;
		  }
next_after_fail716:;
		}
	    }
	  else
	    {
/* #line 2817 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail717;
		  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail717;
		  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", 2820, __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_fail717:;
		}
	      else
		{
/* #line 2822 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail718;
		      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail718;
		      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", 2825, __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_fail718:;
		    }
		  else
		    {
/* #line 2826 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail719;
			  if (TREE_SIDE_EFFECTS (captures[4])) 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", 2829, __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_fail719:;
			}
		    }
		}
	    }
	}
  }
  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 *captures
)
{
  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", 1225, __FILE__, __LINE__);
  {
    if (! tree_invariant_p (captures[3])) goto next_after_fail720;
    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_fail720;
      res_op1 = _r1;
    }
    tree _r;
    _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail720:;
  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 (sgncmp), const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 5985 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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", 5988, __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_fail721:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_410 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const enum tree_code ARG_UNUSED (rotate))
{
/* #line 3984 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3989 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree rotate_type = TREE_TYPE (captures[2]);
	  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", 3991, __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_fail722:;
      }
    }
  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
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3096 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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", 3099, __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_fail723:;
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_412 (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 5180 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (single_use (captures[0])
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) 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", 5181, __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_fail724:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_413 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 2084 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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", 2086, __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_fail725:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_414 (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 2162 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail726;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2165, __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_fail726:;
    }
  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 (op))
{
/* #line 1031 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (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", 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_fail727:;
    }
  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
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail728;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2374, __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_fail728:;
    }
  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 ARG_UNUSED (_p2), tree *captures
)
{
/* #line 7568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      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", 7600, __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_fail729;
	return _r;
      }
next_after_fail729:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_418 (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 6941 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (canonicalize_math_p ()
)
    {
      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", 6947, __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_fail730;
	return _r;
      }
next_after_fail730:;
    }
  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 (op))
{
/* #line 1632 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (single_use (captures[4]) && single_use (captures[5])
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail731;
	  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", 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_fail731:;
	}
      else
	{
/* #line 1636 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (single_use (captures[0]) && single_use (captures[1])
)
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail732;
	      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", 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_fail732:;
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_420 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 1764 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail733;
      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_fail733:;
    }
  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 (cmp))
{
  {
/* #line 3803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 int cand = wi::ctz (wi::to_wide (captures[2])) - wi::ctz (wi::to_wide (captures[0]));
/* #line 3804 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail734;
	  if (TREE_SIDE_EFFECTS (captures[2])) 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", 3807, __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_fail734:;
	}
      else
	{
/* #line 3808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail735;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail735;
	      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", 3810, __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_fail735:;
	    }
	}
  }
  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 (div))
{
/* #line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!integer_zerop (captures[1])
)
    {
      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", 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_fail736:;
    }
  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 (op))
{
/* #line 2400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail737;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2405, __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_fail737:;
    }
  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
)
{
/* #line 2019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail738;
      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_fail738:;
    }
  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
)
{
/* #line 4297 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail739;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4300, __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_fail739:;
    }
  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
, const enum tree_code ARG_UNUSED (bitop), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 1127 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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", 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_fail740:;
    }
  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
, const enum tree_code ARG_UNUSED (op))
{
  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", 1190, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    return _r;
  }
next_after_fail741:;
  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 (floor_divmod), const enum tree_code ARG_UNUSED (trunc_divmod))
{
/* #line 458 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail742;
      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_fail742:;
    }
  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
, const enum tree_code ARG_UNUSED (op), const combined_fn ARG_UNUSED (ctz))
{
  {
/* #line 7706 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7715 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (tree_int_cst_sgn (captures[2]) < 0 || wi::to_widest (captures[2]) >= prec
)
	{
/* #line 7716 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (!zero_res || zero_val != wi::to_widest (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", 7717, __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_fail743:;
	    }
	}
      else
	{
/* #line 7718 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (!zero_res || zero_val < 0 || zero_val >= prec
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) 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", 7719, __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_fail744:;
	    }
	}
  }
  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 (plusminus))
{
/* #line 3251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
 && (!FLOAT_TYPE_P (type) || flag_associative_math)
)
    {
/* #line 3256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (single_use (captures[0]) || single_use (captures[3])
)
	    {
	      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", 3264, __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_fail745:;
	    }
	  else
	    {
	      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", 3265, __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_fail746:;
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_431 (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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
      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", 6612, __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_fail747;
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail747:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_432 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (reduc))
{
  {
/* #line 8120 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (elt
 && types_match (type, TREE_TYPE (elt))
 && !HONOR_SNANS (type)
 && !HONOR_SIGNED_ZEROS (type)
)
	{
	  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail748;
	  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", 8127, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r =  elt;
	    return _r;
	  }
next_after_fail748:;
	}
  }
  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 combined_fn ARG_UNUSED (hypots), const combined_fn ARG_UNUSED (copysigns))
{
  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", 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_fail749;
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail749:;
  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
)
{
/* #line 2101 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
)
    {
      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", 2102, __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_fail750:;
    }
  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
, const enum tree_code ARG_UNUSED (shift))
{
/* #line 3865 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3870 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3924 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if ((mask & zerobits) == mask
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail751;
	      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail751;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail751;
	      if (TREE_SIDE_EFFECTS (captures[5])) 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", 3925, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  build_int_cst (type, 0);
		return _r;
	      }
next_after_fail751:;
	    }
	  else
	    {
	      {
/* #line 3926 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 newmask = mask | zerobits;
/* #line 3927 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (newmask != mask && (newmask & (newmask + 1)) == 0
)
		    {
		      {
/* #line 3928 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3937 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (prec < HOST_BITS_PER_WIDE_INT
 || newmask == HOST_WIDE_INT_M1U
)
			    {
			      {
/* #line 3939 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
/* #line 3941 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (!tree_int_cst_equal (newmaskt, captures[5])
)
				    {
/* #line 3942 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      if (shift_type != TREE_TYPE (captures[2])
)
					{
					  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail752;
					  if (TREE_SIDE_EFFECTS (captures[5])) 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", 3943, __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_fail752:;
					}
				      else
					{
					  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail753;
					  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail753;
					  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", 3944, __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_fail753:;
					}
				    }
			      }
			    }
		      }
		    }
	      }
	    }
      }
    }
  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
)
{
/* #line 7568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      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", 7586, __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_fail754;
	return _r;
      }
next_after_fail754:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_437 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      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", 6928, __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_fail755:;
    }
  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 (op))
{
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
      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", 6494, __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_fail756:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_439 (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 5301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail757;
      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[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_fail757:;
    }
  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 (cmp))
{
/* #line 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!canonicalize_math_p ()
)
    {
/* #line 2135 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail758;
	  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", 2137, __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_fail758:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_441 (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_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", 366, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree _r;
    _r = non_lvalue_loc (loc, res_op0);
    return _r;
  }
next_after_fail759:;
  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
)
{
  if (TREE_SIDE_EFFECTS (_p0)) 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", 2663, __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_fail760:;
  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 enum tree_code ARG_UNUSED (eqne))
{
/* #line 2681 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (eqne == EQ_EXPR
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail761;
      if (TREE_SIDE_EFFECTS (_p1)) 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", 2682, __FILE__, __LINE__);
      {
	tree _r;
	_r = captures[0];
	return _r;
      }
next_after_fail761:;
    }
  else
    {
/* #line 2683 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (eqne == NE_EXPR
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) 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", 2684, __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_fail762:;
	}
    }
  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 (bit_op), const enum tree_code ARG_UNUSED (shift))
{
/* #line 3963 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
)
    {
      {
/* #line 3964 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree mask = int_const_binop (shift, fold_convert (type, captures[3]), captures[4]);
/* #line 3965 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (mask
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail763;
	      if (TREE_SIDE_EFFECTS (captures[4])) 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", 3966, __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_fail763:;
	    }
      }
    }
  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 ARG_UNUSED (_p2), tree *captures
)
{
/* #line 8143 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!VECTOR_INTEGER_TYPE_P (type)
 && !FLOAT_WORDS_BIG_ENDIAN
)
    {
      {
/* #line 8145 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 vec_perm_builder builder;
/* #line 8150 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (tree_to_vec_perm_builder (&builder, captures[2])
)
	    {
	      {
/* #line 8151 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8162 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8169 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8180 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (TYPE_MODE (stype) != BLKmode
 && VECTOR_TYPE_P (ntype)
 && fmt_old != NULL
 && fmt_new != NULL
)
			    {
			      {
/* #line 8184 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8192 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail764;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8198, __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_fail764:;
				    }
			      }
			    }
		      }
		    }
	      }
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_446 (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 5556 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (SCALAR_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 && ! DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
)
    {
      {
/* #line 5558 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5566 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (fmt.can_represent_integral_type_p (type1)
 && fmt.can_represent_integral_type_p (type2)
)
	    {
/* #line 5568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (cmp == ORDERED_EXPR || cmp == UNORDERED_EXPR
)
		{
		  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", 5569, __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_fail765:;
		}
	      else
		{
/* #line 5570 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail766;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5572, __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_fail766:;
		    }
		  else
		    {
/* #line 5573 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail767;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5575, __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_fail767:;
			}
		      else
			{
/* #line 5576 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail768;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5578, __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_fail768:;
			    }
			}
		    }
		}
	    }
      }
    }
  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
, const enum tree_code ARG_UNUSED (neeq))
{
  {
/* #line 2386 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 poly_int64 diff; tree inner_type = TREE_TYPE (captures[2]);
/* #line 2387 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (ptr_difference_const (captures[0], captures[1], &diff)
)
	{
	  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", 2388, __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_fail769:;
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_448 (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 5123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (VECTOR_TYPE_P (type)
 || (INTEGRAL_TYPE_P (type) && TYPE_PRECISION (type) == 1)
)
    {
      {
/* #line 5129 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 enum tree_code ic = invert_tree_comparison
 (cmp, HONOR_NANS (captures[0]));
/* #line 5131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (ic == icmp
)
	    {
	      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", 5132, __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_fail770:;
	    }
	  else
	    {
/* #line 5133 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (ic == ncmp
)
		{
		  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", 5134, __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_fail771:;
		}
	    }
      }
    }
  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 (COS), const combined_fn ARG_UNUSED (SIN), const combined_fn ARG_UNUSED (TAN))
{
/* #line 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      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", 6838, __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_fail772;
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail772:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_450 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (reduc))
{
  {
/* #line 8105 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 int i = single_nonzero_element (captures[1]);
/* #line 8106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (i >= 0
)
	{
	  {
/* #line 8107 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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", 8112, __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_fail773:;
	  }
	}
  }
  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
)
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail774;
  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", 2673, __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_fail774:;
  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 (cmp))
{
  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", 5272, __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_fail775:;
  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 ARG_UNUSED (_p2), tree *captures
)
{
/* #line 7568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      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", 7620, __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_fail776;
	return _r;
      }
next_after_fail776:;
    }
  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
)
{
/* #line 2689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail777;
      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", 2691, __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_fail777:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_455 (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 3490 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3497 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (equal == 1
)
	{
/* #line 3498 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (minmax == MIN_EXPR
)
	    {
/* #line 3499 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (known_le (off0, off1)
)
		{
		  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail778;
		  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail778;
		  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", 3500, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[0];
		    return _r;
		  }
next_after_fail778:;
		}
	      else
		{
/* #line 3501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (known_gt (off0, off1)
)
		    {
		      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail779;
		      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail779;
		      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", 3502, __FILE__, __LINE__);
		      {
			tree _r;
			_r = captures[2];
			return _r;
		      }
next_after_fail779:;
		    }
		}
	    }
	  else
	    {
/* #line 3503 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (known_ge (off0, off1)
)
		{
		  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail780;
		  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail780;
		  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", 3504, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[0];
		    return _r;
		  }
next_after_fail780:;
		}
	      else
		{
/* #line 3505 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (known_lt (off0, off1)
)
		    {
		      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail781;
		      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail781;
		      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", 3506, __FILE__, __LINE__);
		      {
			tree _r;
			_r = captures[2];
			return _r;
		      }
next_after_fail781:;
		    }
		}
	    }
	}
  }
  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
)
{
/* #line 3613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && (
0
 || !TREE_SIDE_EFFECTS (captures[1]))
)
    {
      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", 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_fail782:;
    }
  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 (outer_op))
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2987 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (!ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type)
)
	    {
/* #line 2990 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (!CONSTANT_CLASS_P (captures[1])
)
		{
		  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", 2991, __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_fail783;
		      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_fail783:;
		}
	    }
	  else
	    {
/* #line 2992 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail784;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2994, __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_fail784;
			_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_fail784:;
		}
	      else
		{
/* #line 2995 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (types_match (type, captures[1]) && !TYPE_OVERFLOW_SANITIZED (type)
)
		    {
		      {
/* #line 2996 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree cst = const_binop (outer_op, type, captures[0], captures[2]);
/* #line 2997 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (cst && !TREE_OVERFLOW (cst)
)
			    {
			      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail785;
			      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail785;
			      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", 2998, __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_fail785:;
			    }
		      }
		    }
		}
	    }
	}
    }
  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 (op))
{
  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", 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_fail786:;
  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
)
{
/* #line 2114 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail787;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2116, __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_fail787:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_460 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 7209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7229 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
)
	{
	  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", 7230, __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_fail788:;
	}
      else
	{
	  {
/* #line 7231 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
	      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", 7232, __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_fail789:;
	  }
	}
    }
  else
    {
/* #line 7234 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (FLOAT_TYPE_P (type)
 && DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 == DECIMAL_FLOAT_TYPE_P (type)
)
	{
	  {
/* #line 7237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7243 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (FLOAT_TYPE_P (ty1)
 && FLOAT_TYPE_P (ty2)
)
		{
		  {
/* #line 7245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7258 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail790;
			  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail790;
			  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", 7263, __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_fail790:;
			}
		      else
			{
			  {
/* #line 7264 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 if (TYPE_PRECISION (ty1) > TYPE_PRECISION (newtype))
 newtype = ty1;
 if (TYPE_PRECISION (ty2) > TYPE_PRECISION (newtype))
 newtype = ty2;
/* #line 7289 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail791;
				  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail791;
				  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", 7296, __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_fail791:;
				}
			  }
			}
		  }
		}
	  }
	}
    }
  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
, const enum tree_code ARG_UNUSED (op))
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail792;
  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", 1622, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    return _r;
  }
next_after_fail792:;
  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
)
{
  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", 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_fail793:;
  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 5254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail794;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5256, __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_fail794:;
    }
  else
    {
/* #line 5257 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail795;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5261, __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_fail795:;
	}
    }
  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
, const enum tree_code ARG_UNUSED (bitop))
{
  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", 1341, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree _r;
    _r = non_lvalue_loc (loc, res_op0);
    return _r;
  }
next_after_fail796:;
  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 ARG_UNUSED (_p2), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (op))
{
  {
/* #line 4808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree from_type = TREE_TYPE (captures[0]), to_type = TREE_TYPE (captures[1]);
/* #line 4809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 4816 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 4880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (code == MAX_EXPR
)
		{
		  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail797;
		  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail797;
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail797;
		  if (TREE_SIDE_EFFECTS (captures[3])) 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", 4881, __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_fail797:;
		}
	      else
		{
/* #line 4883 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (code == MIN_EXPR
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail798;
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail798;
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail798;
		      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail798;
		      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", 4884, __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_fail798:;
		    }
		}
	  }
	}
  }
  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 (cmp))
{
/* #line 5800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5824 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5825, __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_fail799:;
	    }
	  else
	    {
	      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", 5827, __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 5829 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
)
	    {
/* #line 5831 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5843, __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 5844 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5847 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5854 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (above || below
)
			    {
/* #line 5855 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5856, __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_fail802:;
				}
			      else
				{
/* #line 5857 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5858, __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_fail803:;
				    }
				  else
				    {
/* #line 5859 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5860, __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_fail804:;
					}
				    }
				}
			    }
		      }
		    }
		}
	    }
	}
    }
  else
    {
/* #line 5862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5884 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5885, __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_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 (bitop))
{
/* #line 1877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!CONSTANT_CLASS_P (captures[0])
)
    {
      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", 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_fail806;
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
	return _r;
      }
next_after_fail806:;
    }
  else
    {
      {
/* #line 1889 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree cst1 = const_binop (bitop, type, captures[0], captures[2]);
/* #line 1890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (cst1
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail807;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail807;
	      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", 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_fail807:;
	    }
	  else
	    {
	      {
/* #line 1892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree cst2 = const_binop (bitop, type, captures[1], captures[2]);
/* #line 1893 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (cst2
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail808;
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail808;
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail808;
		      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", 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_fail808:;
		    }
	      }
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_468 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
  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", 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_fail809:;
  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
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail810;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2911, __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_fail810:;
	}
    }
  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 enum tree_code ARG_UNUSED (bitop), const enum tree_code ARG_UNUSED (op))
{
  {
/* #line 1256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (utype
)
	{
	  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail811;
	  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail811;
	  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail811;
	  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail811;
	  if (TREE_SIDE_EFFECTS (captures[5])) 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", 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_fail811:;
	}
  }
  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 (mod))
{
/* #line 810 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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_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", 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_fail812:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_472 (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_fail813;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3999, __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_fail813:;
  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
)
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail814;
  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", 2658, __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_fail814:;
  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 (cmp))
{
/* #line 2451 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail815;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2452, __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_fail815:;
    }
  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 (op), const enum tree_code ARG_UNUSED (rop))
{
/* #line 1559 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fail816;
      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_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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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 4477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4477, __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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
		tree res = generic_simplify_397 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
		tree res = generic_simplify_397 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
		tree res = generic_simplify_398 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
		tree res = generic_simplify_398 (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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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 2079 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_269 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
		tree res = generic_simplify_468 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
		tree res = generic_simplify_468 (loc, type, _p0, captures);
		if (res) return res;
	      }
	      break;
	    }
	  case INTEGER_CST:
	    {
	      {
/* #line 1372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 1372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2084 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	    tree res = generic_simplify_413 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 1397 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (INTEGRAL_TYPE_P (type)
 && !wi::neg_p (tree_nonzero_bits (captures[1]))
)
		{
		  {
/* #line 1404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 3971 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
		      tree res = generic_simplify_207 (loc, type, _p0, captures);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      {
/* #line 3971 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
		tree res = generic_simplify_207 (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.5.0-r0/gcc-13.5.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 2059 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
		tree res = generic_simplify_172 (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 2079 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
		    tree res = generic_simplify_269 (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 2084 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
		    tree res = generic_simplify_413 (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 2091 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
		      tree res = generic_simplify_347 (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 2095 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q31 };
		      tree res = generic_simplify_235 (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 2095 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
		      tree res = generic_simplify_235 (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 3971 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
			    tree res = generic_simplify_7 (loc, type, _p0, captures);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case BIT_NOT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    {
/* #line 3971 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
		      tree res = generic_simplify_7 (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 3984 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
			    tree res = generic_simplify_118 (loc, type, _p0, captures, LROTATE_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case BIT_NOT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    {
/* #line 3984 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
		      tree res = generic_simplify_118 (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 3984 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
			    tree res = generic_simplify_118 (loc, type, _p0, captures, RROTATE_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case BIT_NOT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    {
/* #line 3984 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
		      tree res = generic_simplify_118 (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 2059 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	  tree res = generic_simplify_172 (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 2091 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		tree res = generic_simplify_347 (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 2095 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
		tree res = generic_simplify_235 (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 2095 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
		tree res = generic_simplify_235 (loc, type, _p0, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	if (tree_truth_valued_p (_q20))
	  {
	    if (tree_truth_valued_p (_q21))
	      {
		{
/* #line 2107 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 2107 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2109, __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 3984 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
		      tree res = generic_simplify_410 (loc, type, _p0, captures, LROTATE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      {
/* #line 3984 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
		tree res = generic_simplify_410 (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 3984 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
		      tree res = generic_simplify_410 (loc, type, _p0, captures, RROTATE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      {
/* #line 3984 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
		tree res = generic_simplify_410 (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 4477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4477, __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 5123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_448 (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 5123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_448 (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 5123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_448 (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 5123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_448 (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 5123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_448 (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 5123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_448 (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 5123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_448 (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 5123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_448 (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 5123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_448 (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 5123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_448 (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 5123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_448 (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 5123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_448 (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 5123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_448 (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 5123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_448 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
/* #line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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 4477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4477, __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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_267 (loc, type, _p0, captures);
	      if (res) return res;
	    }
	  }
	if (tree_negate_expr_p (_q20))
	  {
	    {
/* #line 1727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_267 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 1734 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 1741 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_420 (loc, type, _p0, captures);
	      if (res) return res;
	    }
	  }
	if (tree_negate_expr_p (_q20))
	  {
	    {
/* #line 1764 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
	      tree res = generic_simplify_420 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 1771 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 1777 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
		      tree res = generic_simplify_63 (loc, type, _p0, captures);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case NEGATE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		if (!TYPE_SATURATING (type)
)
		  {
/* #line 2868 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2874, __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 5053 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
/* #line 5053 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5058, __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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    if (!TYPE_SATURATING (type)
)
	      {
/* #line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2882, __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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		tree res = generic_simplify_63 (loc, type, _p0, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_NOT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	{
/* #line 2066 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	  tree res = generic_simplify_299 (loc, type, _p0, captures);
	  if (res) return res;
	}
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	  tree res = generic_simplify_285 (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 4477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4477, __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 7568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
		tree res = generic_simplify_110 (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 7568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
		tree res = generic_simplify_110 (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 7568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
		tree res = generic_simplify_110 (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 7568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
		tree res = generic_simplify_110 (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 7568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
/* #line 7568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		if (canonicalize_math_after_vectorization_p ()
)
		  {
/* #line 7595 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && 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", 7596, __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 7568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
/* #line 7568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		if (canonicalize_math_after_vectorization_p ()
)
		  {
/* #line 7609 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && 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", 7610, __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 7568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
/* #line 7568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		if (canonicalize_math_after_vectorization_p ()
)
		  {
/* #line 7623 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && 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", 7624, __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 2066 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
	      tree res = generic_simplify_299 (loc, type, _p0, captures);
	      if (res) return res;
	    }
	    break;
	  }
	case NEGATE_EXPR:
	  {
	    tree _q30 = TREE_OPERAND (_q20, 0);
	    {
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
	      tree res = generic_simplify_285 (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 5053 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
/* #line 5053 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5058, __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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
		tree res = generic_simplify_372 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20 };
		tree res = generic_simplify_372 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
		tree res = generic_simplify_372 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20 };
		tree res = generic_simplify_372 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
		tree res = generic_simplify_372 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20 };
		tree res = generic_simplify_372 (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 2030 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 2030 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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]))
 && (TYPE_UNSIGNED (type) || TYPE_PRECISION (type) > 1)
)
		      {
			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", 2034, __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 2588 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 2588 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2589, __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 3513 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
		      tree res = generic_simplify_325 (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 3513 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
		      tree res = generic_simplify_325 (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 4013 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 4013 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 4017 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4019, __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 4020 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4021, __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 4029 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 4029 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4031, __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 4089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
	  {
/* #line 4089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 4117 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4123, __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 4130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4134, __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 4140 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4144, __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 4157 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4167, __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 4171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4176, __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 4184 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4188, __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 4089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
	  {
/* #line 4089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 4117 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4123, __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 4130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4134, __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 4140 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4144, __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 4157 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4167, __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 4171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4176, __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 4184 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4188, __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 4209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 4209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 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[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 4702 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
/* #line 4702 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4704, __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 7209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50 };
		      tree res = generic_simplify_460 (loc, type, _p0, captures, PLUS_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      {
/* #line 7209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q21 };
		tree res = generic_simplify_364 (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 7209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q40 };
		tree res = generic_simplify_10 (loc, type, _p0, captures, PLUS_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 7209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q21 };
	  tree res = generic_simplify_141 (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 7209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50 };
		      tree res = generic_simplify_460 (loc, type, _p0, captures, MINUS_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      {
/* #line 7209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q21 };
		tree res = generic_simplify_364 (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 7209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q40 };
		tree res = generic_simplify_10 (loc, type, _p0, captures, MINUS_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 7209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q21 };
	  tree res = generic_simplify_141 (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 7209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50 };
		      tree res = generic_simplify_460 (loc, type, _p0, captures, MULT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      {
/* #line 7209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q21 };
		tree res = generic_simplify_364 (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 7209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q40 };
		tree res = generic_simplify_10 (loc, type, _p0, captures, MULT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 7209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q21 };
	  tree res = generic_simplify_141 (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 7209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50 };
		      tree res = generic_simplify_460 (loc, type, _p0, captures, RDIV_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      {
/* #line 7209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q21 };
		tree res = generic_simplify_364 (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 7209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q40 };
		tree res = generic_simplify_10 (loc, type, _p0, captures, RDIV_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 7209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q21 };
	  tree res = generic_simplify_141 (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 4029 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 4029 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4031, __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 4036 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4036, __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 4042 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 4042 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4045, __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 4051 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
/* #line 4051 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4057, __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 4062 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	  {
/* #line 4062 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree ctor = (TREE_CODE (captures[0]) == SSA_NAME
 ? gimple_assign_rhs1 (SSA_NAME_DEF_STMT (captures[0])) : captures[0]);
/* #line 4066 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4067, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r =  build_zero_cst (type);
		    return _r;
		  }
next_after_fail869:;
		}
	      else
		{
/* #line 4068 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4073, __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 4029 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 4029 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4031, __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 4089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
	  {
/* #line 4089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 4117 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4123, __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 4130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4134, __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 4140 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4144, __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 4157 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4167, __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 4171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4176, __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 4184 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4188, __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 4089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
	  {
/* #line 4089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 4117 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4123, __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 4130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4134, __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 4140 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4144, __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 4157 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4167, __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 4171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4176, __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 4184 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4188, __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 4029 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 4029 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4031, __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 4089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
	  {
/* #line 4089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 4117 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4123, __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 4130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4134, __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 4140 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4144, __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 4157 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4167, __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 4171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4176, __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 4184 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4188, __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 4089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
	  {
/* #line 4089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 4117 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4123, __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 4130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4134, __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 4140 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4144, __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 4157 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4167, __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 4171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4176, __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 4184 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4188, __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 4082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4082, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[0];
	    return _r;
	  }
next_after_fail897:;
	}
        break;
      }
    default:;
    }
if (CONSTANT_CLASS_P (_p0))
  {
    {
/* #line 4079 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4079, __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 4313 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4313, __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 4321 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4321, __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 4329 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4329, __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 4329 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4329, __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 4332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4332, __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 4332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4332, __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 4332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4332, __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 4321 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4321, __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 4329 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4329, __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 4329 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4329, __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 4332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4332, __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 4332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4332, __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 4332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4332, __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 4316 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4316, __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 4324 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4324, __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 4329 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4329, __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 4329 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4329, __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 4335 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4335, __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 4335 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4335, __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 4335 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4335, __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 4324 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4324, __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 4329 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4329, __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 4329 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4329, __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 4335 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4335, __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 4335 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4335, __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 4335 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4335, __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 6435 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_48 (loc, type, _p0, captures);
		    if (res) return res;
		  }
	        }
	      if (integer_nonzerop (_q20))
		{
		  {
/* #line 6435 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
		    tree res = generic_simplify_48 (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 4340 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
		tree res = generic_simplify_276 (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 4346 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
		{
/* #line 4346 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4347, __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 4340 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	  tree res = generic_simplify_276 (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 4346 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
	  {
/* #line 4346 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4347, __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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_136 (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.5.0-r0/gcc-13.5.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, 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.5.0-r0/gcc-13.5.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, 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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
				  tree res = generic_simplify_327 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
				  tree res = generic_simplify_327 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
				  {
/* #line 556 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_53 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    tree res = generic_simplify_384 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    tree res = generic_simplify_384 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
				    tree res = generic_simplify_384 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
				    tree res = generic_simplify_384 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q61, _q21 };
				      tree res = generic_simplify_254 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
				      tree res = generic_simplify_254 (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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
      tree res = generic_simplify_136 (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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_36 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_38 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q60, _q61 };
				  tree res = generic_simplify_356 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
			    tree res = generic_simplify_356 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_36 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_38 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
				  tree res = generic_simplify_60 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
				  tree res = generic_simplify_60 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
					    tree res = generic_simplify_60 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
					    tree res = generic_simplify_60 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		    tree res = generic_simplify_469 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_469 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q60, _q70, _q71 };
					tree res = generic_simplify_356 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1, _q60, _q61 };
				  tree res = generic_simplify_356 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q30 };
		tree res = generic_simplify_365 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _q41 };
				      tree res = generic_simplify_60 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _q40 };
				      tree res = generic_simplify_60 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
						tree res = generic_simplify_60 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
						tree res = generic_simplify_60 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
		tree res = generic_simplify_365 (loc, type, _p0, _p1, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	  tree res = generic_simplify_365 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
	  tree res = generic_simplify_365 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
			tree res = generic_simplify_469 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
		  tree res = generic_simplify_469 (loc, type, _p0, _p1, captures);
		  if (res) return res;
		}
	      }
	    if (CONSTANT_CLASS_P (_q31))
	      {
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
		      tree res = generic_simplify_120 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
		      tree res = generic_simplify_457 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
		      tree res = generic_simplify_120 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
		    tree res = generic_simplify_469 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
	      tree res = generic_simplify_469 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
			tree res = generic_simplify_469 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
		  tree res = generic_simplify_469 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_319 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
		    tree res = generic_simplify_319 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	if (CONSTANT_CLASS_P (_q21))
	  {
	    if (CONSTANT_CLASS_P (_p1))
	      {
		{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_120 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q51, _q20 };
		    tree res = generic_simplify_319 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q50, _q20 };
		    tree res = generic_simplify_319 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_273 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q51, _q20 };
		    tree res = generic_simplify_273 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	if (CONSTANT_CLASS_P (_q21))
	  {
	    if (CONSTANT_CLASS_P (_p1))
	      {
		{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_120 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_457 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_284 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q51, _q20 };
		    tree res = generic_simplify_284 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_69 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
			  tree res = generic_simplify_169 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  tree res = generic_simplify_169 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_169 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
	if (integer_each_onep (_p1))
	  {
	    {
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_151 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_169 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
		    tree res = generic_simplify_151 (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 3251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
		    tree res = generic_simplify_430 (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 3251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_430 (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 3251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
		    tree res = generic_simplify_430 (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 3251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
		    tree res = generic_simplify_430 (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 3251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
	      tree res = generic_simplify_107 (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 3251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
	      tree res = generic_simplify_107 (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 3251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_168 (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 3251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
	      tree res = generic_simplify_168 (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 3613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q21 };
			tree res = generic_simplify_456 (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 3613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _q20 };
		      tree res = generic_simplify_456 (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 3613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q31 };
			tree res = generic_simplify_456 (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 3613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q50, _q30 };
		      tree res = generic_simplify_456 (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 4227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
				  tree res = generic_simplify_186 (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 4227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
				  tree res = generic_simplify_186 (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 4227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
				  tree res = generic_simplify_186 (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 4227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
				  tree res = generic_simplify_186 (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 4227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				  tree res = generic_simplify_186 (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 4227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				  tree res = generic_simplify_186 (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 4227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				  tree res = generic_simplify_186 (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 4227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				  tree res = generic_simplify_186 (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 4227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				  tree res = generic_simplify_186 (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 4227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				  tree res = generic_simplify_186 (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 4227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				  tree res = generic_simplify_186 (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 4227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				  tree res = generic_simplify_186 (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 4227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				  tree res = generic_simplify_186 (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 4227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				  tree res = generic_simplify_186 (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 4227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				  tree res = generic_simplify_186 (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 4227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				  tree res = generic_simplify_186 (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 4259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 4259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]))
)
	    {
	      {
/* #line 4260 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree tem = const_unop (NEGATE_EXPR, type, captures[1]);
/* #line 4261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4262, __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 4267 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 4267 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4268, __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 4269 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4270, __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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 5066 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p0, _q20, _q21, _q22 };
		  tree res = generic_simplify_77 (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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 5066 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _q42 };
			tree res = generic_simplify_77 (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 5066 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q30, _q31, _q32 };
			tree res = generic_simplify_77 (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 5066 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		  tree res = generic_simplify_77 (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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_438 (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 8365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q22, _p1 };
			tree res = generic_simplify_80 (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 8365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _q22, _p1 };
			tree res = generic_simplify_80 (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 8488 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
/* #line 8488 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8489, __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 8496 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
					tree res = generic_simplify_236 (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 7730 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
			    tree res = generic_simplify_191 (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 7730 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
			    tree res = generic_simplify_191 (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 7730 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
			    tree res = generic_simplify_191 (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 7730 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
			    tree res = generic_simplify_191 (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 7730 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
			    tree res = generic_simplify_191 (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 8365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q41, _q32, _p0 };
			tree res = generic_simplify_80 (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 8365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q40, _q32, _p0 };
			tree res = generic_simplify_80 (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.5.0-r0/gcc-13.5.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 2500 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2500, __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 2504 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2504, __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;
		  {
		    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]);
		    res_op1 = _r1;
		  }
		  tree _r;
		  _r = fold_build2_loc (loc, POINTER_PLUS_EXPR, type, res_op0, res_op1);
		  return _r;
		}
next_after_fail938:;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
if (integer_zerop (_p0))
  {
    {
/* #line 187 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2518 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q50 };
/* #line 2518 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2521, __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 2524 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _q41, _p1, _q30, _q40, _p0 };
/* #line 2524 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2525, __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 2518 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _p1, _q40 };
/* #line 2518 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2521, __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 2524 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p1, _q30, _p0 };
/* #line 2524 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2525, __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 2536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
				{
/* #line 2536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2537, __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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 204 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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, 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.5.0-r0/gcc-13.5.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, 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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q61, _q20, _q61 };
				    tree res = generic_simplify_51 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q70, _q71, _q20, _q50 };
				    tree res = generic_simplify_51 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q20, _q51 };
			      tree res = generic_simplify_51 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q61, _q20, _q40 };
			      tree res = generic_simplify_51 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _p0, _q51 };
			      tree res = generic_simplify_51 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q61, _p0, _q40 };
			      tree res = generic_simplify_51 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _p0, _q41 };
			tree res = generic_simplify_51 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _p0, _q30 };
			tree res = generic_simplify_51 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q50 };
				  tree res = generic_simplify_232 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q20, _q30, _q40 };
				  tree res = generic_simplify_232 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_53 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1 };
			      tree res = generic_simplify_374 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1 };
			      tree res = generic_simplify_374 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1 };
			      tree res = generic_simplify_374 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1 };
			      tree res = generic_simplify_374 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
/* #line 1138 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
			      tree res = generic_simplify_381 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
			      tree res = generic_simplify_381 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1 };
			      tree res = generic_simplify_381 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1 };
			      tree res = generic_simplify_381 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				  tree res = generic_simplify_127 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				  tree res = generic_simplify_127 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				      tree res = generic_simplify_127 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				      tree res = generic_simplify_127 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
				      tree res = generic_simplify_127 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
				      tree res = generic_simplify_127 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					  tree res = generic_simplify_127 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					  tree res = generic_simplify_127 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
/* #line 1362 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		if (!TYPE_OVERFLOW_SANITIZED (type)
)
		  {
		    {
/* #line 1363 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 1478 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 1485 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
				  tree res = generic_simplify_336 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
				  tree res = generic_simplify_336 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
				      tree res = generic_simplify_336 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
				      tree res = generic_simplify_336 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
				      tree res = generic_simplify_336 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
				      tree res = generic_simplify_336 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
					  tree res = generic_simplify_336 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
					  tree res = generic_simplify_336 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_45 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
	      tree res = generic_simplify_45 (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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _q41 };
				      tree res = generic_simplify_336 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _q40 };
				      tree res = generic_simplify_336 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _q41 };
					  tree res = generic_simplify_336 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _q40 };
					  tree res = generic_simplify_336 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
					  tree res = generic_simplify_336 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
					  tree res = generic_simplify_336 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
					      tree res = generic_simplify_336 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
					      tree res = generic_simplify_336 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
				      tree res = generic_simplify_127 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
				      tree res = generic_simplify_127 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
					  tree res = generic_simplify_127 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
					  tree res = generic_simplify_127 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
					  tree res = generic_simplify_127 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
					  tree res = generic_simplify_127 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
					      tree res = generic_simplify_127 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
					      tree res = generic_simplify_127 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 1747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p1, _q40, _q51, _q20 };
			  tree res = generic_simplify_286 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
		      {
			{
/* #line 2126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _q51, _p1, _q40, _q50, _q20 };
			  tree res = generic_simplify_286 (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 2126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p1, _p1, _q41, _q20 };
		    tree res = generic_simplify_93 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
		{
		  {
/* #line 2126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _q41, _p1, _p1, _q40, _q20 };
		    tree res = generic_simplify_93 (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 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
/* #line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
			{
			  {
/* #line 2543 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2544 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2545, __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 2548 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
/* #line 2548 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
			{
			  {
/* #line 2549 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2550 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2551, __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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 1757 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p1, _q30, _q41, _p0 };
		    tree res = generic_simplify_286 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
		{
		  {
/* #line 2126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _q41, _p1, _q30, _q40, _p0 };
		    tree res = generic_simplify_286 (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 2126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[5] ATTRIBUTE_UNUSED = { _q30, _p1, _p1, _q31, _p0 };
	      tree res = generic_simplify_93 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
	  {
	    {
/* #line 2126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p1, _q30, _p0 };
	      tree res = generic_simplify_93 (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 2296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2299, __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 2296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
/* #line 2296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2299, __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 2296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
/* #line 2296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2299, __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 2296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
/* #line 2296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2299, __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 2312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2315, __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 2339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
/* #line 2339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2342, __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 2324 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
/* #line 2324 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2326, __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 2351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
/* #line 2351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2353, __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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
		tree res = generic_simplify_215 (loc, type, _p0, _p1, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	  tree res = generic_simplify_215 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
		    tree res = generic_simplify_261 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
		    tree res = generic_simplify_261 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_261 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_261 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
		    tree res = generic_simplify_22 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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:;
    }
{
  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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q31 };
			tree res = generic_simplify_261 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
			tree res = generic_simplify_261 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
		  tree res = generic_simplify_261 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
		  tree res = generic_simplify_261 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q31 };
			tree res = generic_simplify_22 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
		  tree res = generic_simplify_22 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
		    tree res = generic_simplify_180 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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;
		  }
	        }
}
	}
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_180 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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;
      }
    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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
		    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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_133 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
			tree res = generic_simplify_180 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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;
		      }
		    }
}
	    }
	    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
	      {
		{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
		  tree res = generic_simplify_180 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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;
	  }
	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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
			tree res = generic_simplify_133 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
		  tree res = generic_simplify_133 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_194 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
		    tree res = generic_simplify_194 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	if (CONSTANT_CLASS_P (_q21))
	  {
	    if (CONSTANT_CLASS_P (_p1))
	      {
		{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_120 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_120 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_457 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_69 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
		    tree res = generic_simplify_411 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
			  tree res = generic_simplify_340 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
		      {
			{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q31 };
			  tree res = generic_simplify_340 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
		    tree res = generic_simplify_340 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
		{
		  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q31 };
		    tree res = generic_simplify_340 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (!TYPE_SATURATING (type)
)
			    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
				{
/* #line 3125 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3133, __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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
			  tree res = generic_simplify_5 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
		      {
			{
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q51, _q50, _q20 };
			  tree res = generic_simplify_5 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_411 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
		      tree res = generic_simplify_120 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
		      tree res = generic_simplify_120 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
		      tree res = generic_simplify_457 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
		tree res = generic_simplify_100 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
		    tree res = generic_simplify_100 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
}
  }
  }
if (integer_all_onesp (_p0))
  {
    {
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p1 };
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      if (!TYPE_SATURATING (type)
)
	{
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	    {
/* #line 3104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3105, __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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _p0 };
		    tree res = generic_simplify_5 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
		{
		  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _p0 };
		    tree res = generic_simplify_5 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (!TYPE_SATURATING (type)
)
			    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
				{
/* #line 3167 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (INTEGRAL_TYPE_P (type)
 && TYPE_OVERFLOW_UNDEFINED (type)
 && element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
)
				    {
				      {
/* #line 3170 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3171, __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 3172 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3180, __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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
				tree res = generic_simplify_380 (loc, type, _p0, _p1, captures);
				if (res) return res;
			      }
			    }
			  if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q30, 0))
			    {
			      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
				tree res = generic_simplify_380 (loc, type, _p0, _p1, captures);
				if (res) return res;
			      }
			    }
			  if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q31, 0))
			    {
			      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
				tree res = generic_simplify_380 (loc, type, _p0, _p1, captures);
				if (res) return res;
			      }
			    }
			  if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q31, 0))
			    {
			      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
				tree res = generic_simplify_380 (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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				if (!TYPE_SATURATING (type)
)
				  {
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
				      {
/* #line 3219 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					if (INTEGRAL_TYPE_P (type)
 && TYPE_OVERFLOW_UNDEFINED (type)
 && element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
)
					  {
					    {
/* #line 3222 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3223, __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 3224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3234, __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 3251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
		    tree res = generic_simplify_430 (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 3251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_430 (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 3251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
		    tree res = generic_simplify_430 (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 3251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
		    tree res = generic_simplify_430 (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 3251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
	      tree res = generic_simplify_107 (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 3251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
	      tree res = generic_simplify_107 (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 3251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_168 (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 3251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
	      tree res = generic_simplify_168 (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 3619 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q31 };
			tree res = generic_simplify_163 (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 3619 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q51, _q30 };
		      tree res = generic_simplify_163 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4275 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4275, __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 4285 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 4285 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4286, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 5076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		  tree res = generic_simplify_379 (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 5076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _q42 };
			tree res = generic_simplify_379 (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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_438 (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 8369 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q22, _p1 };
			tree res = generic_simplify_323 (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 8369 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _q22, _p1 };
			tree res = generic_simplify_323 (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 8462 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q31 };
				{
/* #line 8462 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 auto i = wi::neg (wi::to_wide (captures[2]));
/* #line 8464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    if (wi::popcount (i) == 1
 && (wi::to_wide (captures[1])) == (i - 1)
)
				      {
/* #line 8466 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8467, __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", 8468, __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 8488 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
/* #line 8488 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8489, __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 8496 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
					tree res = generic_simplify_236 (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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_292 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_415 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			tree res = generic_simplify_160 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			tree res = generic_simplify_426 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    tree res = generic_simplify_384 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    tree res = generic_simplify_384 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
				    tree res = generic_simplify_384 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
				    tree res = generic_simplify_384 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q61, _q21 };
				      tree res = generic_simplify_254 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
				      tree res = generic_simplify_254 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_334 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_334 (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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_334 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_334 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _p1 };
			      tree res = generic_simplify_99 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _p1 };
			      tree res = generic_simplify_99 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q30, _p1 };
			      tree res = generic_simplify_99 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q30, _p1 };
			      tree res = generic_simplify_99 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q41 };
		    tree res = generic_simplify_391 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q40 };
		    tree res = generic_simplify_391 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q31 };
		    tree res = generic_simplify_391 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q31, _p0, _q30 };
		    tree res = generic_simplify_391 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
			      tree res = generic_simplify_74 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
			      tree res = generic_simplify_74 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_458 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			tree res = generic_simplify_403 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			tree res = generic_simplify_403 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			tree res = generic_simplify_403 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			tree res = generic_simplify_403 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
		    tree res = generic_simplify_73 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
		    tree res = generic_simplify_73 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
	      tree res = generic_simplify_73 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
	      tree res = generic_simplify_73 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
			tree res = generic_simplify_427 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q21, _q20 };
			tree res = generic_simplify_427 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			      tree res = generic_simplify_253 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
			      tree res = generic_simplify_253 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
			tree res = generic_simplify_427 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q21, _q20 };
			tree res = generic_simplify_427 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q61 };
			      tree res = generic_simplify_405 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q60 };
			      tree res = generic_simplify_405 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q61 };
			      tree res = generic_simplify_405 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q60 };
			      tree res = generic_simplify_405 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q71 };
			      tree res = generic_simplify_405 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q70 };
			      tree res = generic_simplify_405 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q71 };
			      tree res = generic_simplify_405 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q70 };
			      tree res = generic_simplify_405 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _q31 };
			      tree res = generic_simplify_362 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _q30 };
			      tree res = generic_simplify_362 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _q31 };
			      tree res = generic_simplify_362 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _q30 };
			      tree res = generic_simplify_362 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _q41 };
			      tree res = generic_simplify_362 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _q40 };
			      tree res = generic_simplify_362 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _q41 };
			      tree res = generic_simplify_362 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _q40 };
			      tree res = generic_simplify_362 (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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  tree res = generic_simplify_458 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
			  tree res = generic_simplify_458 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q60 };
			    tree res = generic_simplify_475 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
		      tree res = generic_simplify_475 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
				tree res = generic_simplify_166 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
				tree res = generic_simplify_166 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
				tree res = generic_simplify_166 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
				tree res = generic_simplify_166 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
			  tree res = generic_simplify_73 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
			  tree res = generic_simplify_73 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
		    tree res = generic_simplify_73 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
		    tree res = generic_simplify_73 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q51, _q20 };
			  tree res = generic_simplify_461 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q51, _q50, _q20 };
			  tree res = generic_simplify_461 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _q20 };
		    tree res = generic_simplify_461 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _q20 };
		    tree res = generic_simplify_461 (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.5.0-r0/gcc-13.5.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 (_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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q41 };
		    tree res = generic_simplify_17 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
		    tree res = generic_simplify_17 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_464 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q20, _q31 };
		    tree res = generic_simplify_17 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q20, _q30 };
		    tree res = generic_simplify_17 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q60, _q30, _q31 };
				    tree res = generic_simplify_197 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q60, _q31, _q30 };
				    tree res = generic_simplify_197 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q61, _q30, _q31 };
				    tree res = generic_simplify_197 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q61, _q31, _q30 };
				    tree res = generic_simplify_197 (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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0, _q20 };
			      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 _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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _p0 };
		    tree res = generic_simplify_27 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _p0 };
		    tree res = generic_simplify_27 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
		      tree res = generic_simplify_475 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_475 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
				    tree res = generic_simplify_11 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
				    tree res = generic_simplify_11 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
				    tree res = generic_simplify_11 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
				    tree res = generic_simplify_11 (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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		    tree res = generic_simplify_96 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
		    tree res = generic_simplify_96 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_36 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
		    tree res = generic_simplify_166 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q20 };
		    tree res = generic_simplify_166 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q21 };
		    tree res = generic_simplify_166 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q21 };
		    tree res = generic_simplify_166 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
			      tree res = generic_simplify_25 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_36 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0 };
		    tree res = generic_simplify_461 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _p0 };
		    tree res = generic_simplify_461 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
	      tree res = generic_simplify_461 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q31, _q30, _p0 };
	      tree res = generic_simplify_461 (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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q61 };
			  tree res = generic_simplify_282 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q60 };
			  tree res = generic_simplify_282 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q61 };
			  tree res = generic_simplify_282 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q60 };
			  tree res = generic_simplify_282 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 1802 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
	  tree res = generic_simplify_369 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q61 };
			  tree res = generic_simplify_419 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q60 };
			  tree res = generic_simplify_419 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q61 };
			  tree res = generic_simplify_419 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q60 };
			  tree res = generic_simplify_419 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q51 };
		    tree res = generic_simplify_200 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q50 };
		    tree res = generic_simplify_200 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q51 };
		    tree res = generic_simplify_200 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q50 };
		    tree res = generic_simplify_200 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_312 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_312 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
		    tree res = generic_simplify_220 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
		    tree res = generic_simplify_220 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21 };
		    tree res = generic_simplify_462 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _q21 };
		    tree res = generic_simplify_462 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20 };
		    tree res = generic_simplify_462 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q41, _q40, _q20 };
		    tree res = generic_simplify_462 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_177 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_94 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_94 (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 2121 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1, _q60 };
			  tree res = generic_simplify_333 (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 2121 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1, _q61 };
			  tree res = generic_simplify_333 (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 2121 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1, _q60 };
			  tree res = generic_simplify_333 (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 2121 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1, _q61 };
			  tree res = generic_simplify_333 (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 2121 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q50, _q21, _p0, _q20 };
			  tree res = generic_simplify_333 (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 2121 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _p0, _q21 };
			  tree res = generic_simplify_333 (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 2121 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q51, _q21, _p0, _q20 };
			  tree res = generic_simplify_333 (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 2121 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q51, _q20, _p0, _q21 };
			  tree res = generic_simplify_333 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_312 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_312 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
		    tree res = generic_simplify_220 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    tree res = generic_simplify_220 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41, _q31 };
		    tree res = generic_simplify_462 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q40, _q31 };
		    tree res = generic_simplify_462 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q31, _p0, _q51, _q30 };
		    tree res = generic_simplify_462 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q31, _p0, _q50, _q30 };
		    tree res = generic_simplify_462 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_467 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_155 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_155 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_155 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_155 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_155 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_155 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_155 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_155 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_155 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_155 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_155 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_155 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_155 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_155 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_247 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_247 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_247 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_247 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_247 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_247 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_247 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_247 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_247 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_247 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_247 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_247 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_247 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_247 (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 2469 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_65 (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 2658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			tree res = generic_simplify_280 (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 2673 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
			tree res = generic_simplify_84 (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 2689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _p0, _q21 };
			tree res = generic_simplify_454 (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 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_104 (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 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_104 (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 2799 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_407 (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 2799 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_407 (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 2799 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_407 (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 2799 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_407 (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 2658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
			tree res = generic_simplify_280 (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 2673 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			tree res = generic_simplify_84 (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 2689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _p0, _q20 };
			tree res = generic_simplify_454 (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 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_104 (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 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_104 (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 2799 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_407 (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 2799 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_407 (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 2799 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_407 (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 2799 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_407 (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 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_352 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      {
/* #line 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_104 (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 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_352 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      {
/* #line 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_104 (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 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_352 (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 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_352 (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 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_352 (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 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_352 (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 2658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
		      tree res = generic_simplify_473 (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 2658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
		      tree res = generic_simplify_473 (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 2663 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q51 };
		      tree res = generic_simplify_442 (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 2663 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
		      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 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 2673 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
		      tree res = generic_simplify_451 (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 2673 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
		      tree res = generic_simplify_451 (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 2681 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
		      tree res = generic_simplify_443 (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 2681 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
		      tree res = generic_simplify_443 (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 2663 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_258 (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 2681 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			tree res = generic_simplify_219 (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 2668 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			tree res = generic_simplify_298 (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 2681 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			tree res = generic_simplify_219 (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 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_104 (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 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_104 (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 2799 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_407 (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 2799 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_407 (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 2799 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_407 (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 2799 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_407 (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 2663 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			tree res = generic_simplify_258 (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 2681 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			tree res = generic_simplify_219 (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 2668 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			tree res = generic_simplify_298 (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 2681 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			tree res = generic_simplify_219 (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 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_104 (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 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_104 (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 2799 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_407 (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 2799 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_407 (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 2799 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_407 (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 2799 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_407 (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 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_352 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      {
/* #line 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_104 (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 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_352 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      {
/* #line 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_104 (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 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_352 (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 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_352 (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 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_352 (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 2773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_352 (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 2668 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
		      tree res = generic_simplify_298 (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 2668 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
		      tree res = generic_simplify_298 (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 2689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
		      tree res = generic_simplify_210 (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 2689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q51 };
		      tree res = generic_simplify_210 (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 2681 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
		      tree res = generic_simplify_443 (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 2681 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
		      tree res = generic_simplify_443 (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 3360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_30 (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 3367 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_246 (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 3377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_290 (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 3367 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_246 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		tree res = generic_simplify_20 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		tree res = generic_simplify_20 (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 3377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
		    tree res = generic_simplify_290 (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 3385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_306 (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 3399 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_252 (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 3399 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
		    tree res = generic_simplify_252 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 5712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
/* #line 5712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5713, __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 5720 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q51 };
			tree res = generic_simplify_294 (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 5720 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
			tree res = generic_simplify_294 (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 5720 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			tree res = generic_simplify_156 (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 5720 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q21, _p0, _q20 };
			tree res = generic_simplify_156 (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 5731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_146 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
		    tree res = generic_simplify_378 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
		    tree res = generic_simplify_378 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_378 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
		    tree res = generic_simplify_378 (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 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
					      const enum tree_code cmp = LT_EXPR;
/* #line 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8080 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8090, __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", 8094, __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 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
					      const enum tree_code cmp = LT_EXPR;
/* #line 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8080 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8090, __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", 8094, __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 5731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_146 (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 5731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_146 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_378 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
		    tree res = generic_simplify_378 (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 5731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_146 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
		    tree res = generic_simplify_378 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
		    tree res = generic_simplify_378 (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 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
					      const enum tree_code cmp = LE_EXPR;
/* #line 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8080 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8090, __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", 8094, __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 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
					      const enum tree_code cmp = LE_EXPR;
/* #line 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8080 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8090, __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", 8094, __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 5731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_146 (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 5731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_146 (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 5731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_146 (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 5731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_146 (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 5731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_146 (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 5731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_146 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_378 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
		    tree res = generic_simplify_378 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
		    tree res = generic_simplify_378 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
		    tree res = generic_simplify_378 (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 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
					      const enum tree_code cmp = LE_EXPR;
/* #line 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8080 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8090, __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", 8094, __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 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
					      const enum tree_code cmp = LE_EXPR;
/* #line 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8080 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8090, __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", 8094, __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 5731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_146 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
		    tree res = generic_simplify_378 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
		    tree res = generic_simplify_378 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_378 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
		    tree res = generic_simplify_378 (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 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
					      const enum tree_code cmp = LT_EXPR;
/* #line 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8080 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8090, __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", 8094, __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 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
					      const enum tree_code cmp = LT_EXPR;
/* #line 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8080 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8090, __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", 8094, __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 5731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_146 (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 8488 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
/* #line 8488 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8489, __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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_292 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_415 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    tree res = generic_simplify_384 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    tree res = generic_simplify_384 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
				    tree res = generic_simplify_384 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
				    tree res = generic_simplify_384 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q61, _q21 };
				      tree res = generic_simplify_254 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
				      tree res = generic_simplify_254 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			  tree res = generic_simplify_388 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q30 };
			  tree res = generic_simplify_388 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
		    tree res = generic_simplify_344 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
		    tree res = generic_simplify_344 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q60 };
			  tree res = generic_simplify_388 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
			  tree res = generic_simplify_388 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_458 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
		    tree res = generic_simplify_344 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q30 };
		    tree res = generic_simplify_344 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
		tree res = generic_simplify_406 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20, _p1 };
		tree res = generic_simplify_406 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q31, _p0 };
		tree res = generic_simplify_406 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q31, _q50, _q30, _p0 };
		tree res = generic_simplify_406 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
		tree res = generic_simplify_408 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20, _p1 };
		tree res = generic_simplify_408 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q31, _p0 };
		tree res = generic_simplify_408 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q31, _q50, _q30, _p0 };
		tree res = generic_simplify_408 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  tree res = generic_simplify_458 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
			  tree res = generic_simplify_458 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q60, _q70, _q71 };
					tree res = generic_simplify_356 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1, _q60, _q61 };
				  tree res = generic_simplify_356 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
			  tree res = generic_simplify_130 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q31 };
			  tree res = generic_simplify_130 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
		    tree res = generic_simplify_130 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q31 };
		    tree res = generic_simplify_130 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
			  tree res = generic_simplify_130 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q51, _q50, _q20 };
			  tree res = generic_simplify_130 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q20 };
		    tree res = generic_simplify_130 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _q20 };
		    tree res = generic_simplify_130 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_458 (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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			      tree res = generic_simplify_21 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			      tree res = generic_simplify_21 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			      tree res = generic_simplify_21 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			      tree res = generic_simplify_21 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			      tree res = generic_simplify_21 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
			      tree res = generic_simplify_21 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
			      tree res = generic_simplify_21 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				    tree res = generic_simplify_54 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				    tree res = generic_simplify_54 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q21, _p1 };
			      tree res = generic_simplify_86 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			      tree res = generic_simplify_21 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q40, _q20, _p1 };
			      tree res = generic_simplify_86 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_29 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_32 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				    tree res = generic_simplify_54 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				    tree res = generic_simplify_54 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q20 };
		    tree res = generic_simplify_130 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q21 };
		    tree res = generic_simplify_130 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q20 };
	      tree res = generic_simplify_130 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q21 };
	      tree res = generic_simplify_130 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q21, _p0 };
			      tree res = generic_simplify_86 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q21, _p0 };
			      tree res = generic_simplify_86 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_32 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_36 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
		    tree res = generic_simplify_115 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q20 };
		    tree res = generic_simplify_115 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
	      tree res = generic_simplify_115 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q20 };
	      tree res = generic_simplify_115 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_29 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_36 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q60, _q61 };
				  tree res = generic_simplify_356 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
			    tree res = generic_simplify_356 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _p0 };
		    tree res = generic_simplify_130 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _p0 };
		    tree res = generic_simplify_130 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
	      tree res = generic_simplify_130 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _p0 };
	      tree res = generic_simplify_130 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q60 };
			    tree res = generic_simplify_308 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
		      tree res = generic_simplify_308 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		    break;
		  }
		case INTEGER_CST:
		  {
		    {
/* #line 1592 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p1 };
		      tree res = generic_simplify_39 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
		      tree res = generic_simplify_308 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_308 (loc, type, _p0, _p1, captures);
		if (res) return res;
	      }
	      break;
	    }
	  case INTEGER_CST:
	    {
	      {
/* #line 1592 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		tree res = generic_simplify_39 (loc, type, _p0, _p1, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 2101 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1 };
	  tree res = generic_simplify_159 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_102 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
	      tree res = generic_simplify_102 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
		    tree res = generic_simplify_166 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q20 };
		    tree res = generic_simplify_166 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q21 };
		    tree res = generic_simplify_166 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q21 };
		    tree res = generic_simplify_166 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
	      tree res = generic_simplify_102 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
	      tree res = generic_simplify_102 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
				tree res = generic_simplify_166 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
				tree res = generic_simplify_166 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
				tree res = generic_simplify_166 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
				tree res = generic_simplify_166 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
			  tree res = generic_simplify_115 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q30 };
			  tree res = generic_simplify_115 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
		    tree res = generic_simplify_115 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q30 };
		    tree res = generic_simplify_115 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
			  tree res = generic_simplify_115 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q51, _q50, _q20 };
			  tree res = generic_simplify_115 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q20 };
		    tree res = generic_simplify_115 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _q20 };
		    tree res = generic_simplify_115 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _p0 };
		    tree res = generic_simplify_115 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _p0 };
		    tree res = generic_simplify_115 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
	      tree res = generic_simplify_115 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _p0 };
	      tree res = generic_simplify_115 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q71 };
				tree res = generic_simplify_72 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q70 };
				tree res = generic_simplify_72 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q71 };
				tree res = generic_simplify_72 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q70 };
				tree res = generic_simplify_72 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q61 };
			  tree res = generic_simplify_72 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
			  tree res = generic_simplify_72 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q61 };
			  tree res = generic_simplify_72 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q60 };
			  tree res = generic_simplify_72 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 1802 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
	  tree res = generic_simplify_369 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q61 };
			  tree res = generic_simplify_72 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q60 };
			  tree res = generic_simplify_72 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q61 };
			  tree res = generic_simplify_72 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q60 };
			  tree res = generic_simplify_72 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_72 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_72 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
		    tree res = generic_simplify_72 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
		    tree res = generic_simplify_72 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_467 (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 2074 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2074, __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 2074 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2074, __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 2074 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2074, __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 2074 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2074, __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 2074 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2074, __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 2074 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2074, __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 2074 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2074, __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 2074 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2074, __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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		tree res = generic_simplify_20 (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 2101 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1 };
	      tree res = generic_simplify_434 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		tree res = generic_simplify_20 (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 2101 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
	  tree res = generic_simplify_159 (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 2101 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
	      tree res = generic_simplify_434 (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 2469 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_65 (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 3360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_30 (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 3367 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_246 (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 3377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_290 (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 3367 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_246 (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 3377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
		    tree res = generic_simplify_290 (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 3385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_306 (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 3399 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_252 (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 3399 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
		    tree res = generic_simplify_252 (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 3625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q31 };
			tree res = generic_simplify_342 (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 3625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q31 };
			tree res = generic_simplify_342 (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 3625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q51, _q30 };
		      tree res = generic_simplify_342 (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 3625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q50, _q30 };
		      tree res = generic_simplify_342 (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 3625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
			tree res = generic_simplify_342 (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 3625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q21 };
			tree res = generic_simplify_342 (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 3625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q20 };
		      tree res = generic_simplify_342 (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 3625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _q20 };
		      tree res = generic_simplify_342 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 5137 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_295 (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 5188 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
			tree res = generic_simplify_390 (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 5196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
			tree res = generic_simplify_47 (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 5137 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_295 (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 5137 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_295 (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 5137 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_295 (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 5137 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_295 (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 5188 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
			tree res = generic_simplify_390 (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 5196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _p0, _q20 };
			tree res = generic_simplify_47 (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 5137 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_295 (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 5137 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_295 (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 5137 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_295 (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 5137 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_295 (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 5137 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_295 (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 5137 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_295 (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 5137 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_295 (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 5137 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_295 (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 5137 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_295 (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 8488 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
/* #line 8488 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8489, __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 7756 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
			    tree res = generic_simplify_138 (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 7756 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
			    tree res = generic_simplify_138 (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 7756 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
			    tree res = generic_simplify_138 (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 7756 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
			    tree res = generic_simplify_138 (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 7756 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
			    tree res = generic_simplify_138 (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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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 2554 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 2554 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2556 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2557 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2558, __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 2554 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
/* #line 2554 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2556 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2557 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2558, __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 2561 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 2561 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2563 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2564 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2565, __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 2561 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
/* #line 2561 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2563 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2564 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2565, __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 2554 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
/* #line 2554 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2556 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2557 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2558, __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 2554 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
/* #line 2554 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2556 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2557 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2558, __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 2561 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
/* #line 2561 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2563 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2564 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2565, __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 2561 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
/* #line 2561 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2563 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2564 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2565, __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 2570 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
			    {
/* #line 2570 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2571 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2572, __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 2576 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		{
/* #line 2576 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2577 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2578, __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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q20 };
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (!TYPE_SATURATING (type)
)
		{
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
		    {
		      {
/* #line 3138 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3142, __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 2581 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
		{
/* #line 2581 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2582 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2583, __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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (!TYPE_SATURATING (type)
)
		{
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
		    {
		      {
/* #line 3185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3189, __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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (!TYPE_SATURATING (type)
)
		      {
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3237, __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 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
/* #line 2833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (!TYPE_SATURATING (type)
)
		      {
/* #line 2891 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
			  {
			    {
/* #line 3242 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3246, __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 4278 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4278, __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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 292 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree itype = FLOAT_TYPE_P (type) ? unsigned_type_for (type) : type;
/* #line 296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
/* #line 313 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
/* #line 313 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
/* #line 313 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
/* #line 313 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 266 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 275 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 283 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
/* #line 313 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
/* #line 321 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
/* #line 313 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
/* #line 321 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
/* #line 313 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
/* #line 321 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
/* #line 313 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
/* #line 321 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
/* #line 321 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
/* #line 321 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
/* #line 321 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
/* #line 321 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			tree res = generic_simplify_322 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			tree res = generic_simplify_322 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			tree res = generic_simplify_322 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			tree res = generic_simplify_322 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			tree res = generic_simplify_322 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			tree res = generic_simplify_322 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			tree res = generic_simplify_322 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			tree res = generic_simplify_322 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			tree res = generic_simplify_322 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			tree res = generic_simplify_322 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			tree res = generic_simplify_322 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			tree res = generic_simplify_237 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
			      tree res = generic_simplify_18 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			tree res = generic_simplify_237 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
			      tree res = generic_simplify_18 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			tree res = generic_simplify_237 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
			      tree res = generic_simplify_18 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			tree res = generic_simplify_237 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
			      tree res = generic_simplify_18 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			tree res = generic_simplify_237 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
			      tree res = generic_simplify_18 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			tree res = generic_simplify_237 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
			      tree res = generic_simplify_18 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			tree res = generic_simplify_237 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
			      tree res = generic_simplify_18 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			tree res = generic_simplify_237 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
			      tree res = generic_simplify_18 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			tree res = generic_simplify_237 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
			      tree res = generic_simplify_18 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			tree res = generic_simplify_237 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
			      tree res = generic_simplify_18 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			tree res = generic_simplify_237 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
			      tree res = generic_simplify_18 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      tree res = generic_simplify_117 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      tree res = generic_simplify_117 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      tree res = generic_simplify_117 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      tree res = generic_simplify_117 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      tree res = generic_simplify_117 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      tree res = generic_simplify_117 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      tree res = generic_simplify_117 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      tree res = generic_simplify_117 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      tree res = generic_simplify_117 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      tree res = generic_simplify_117 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      tree res = generic_simplify_117 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      tree res = generic_simplify_441 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      {
/* #line 502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
				  {
/* #line 516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 839 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_289 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_289 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_289 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_289 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_289 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_289 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_289 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_289 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_289 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_289 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_289 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
		    tree res = generic_simplify_320 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _q31 };
		    tree res = generic_simplify_320 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
	      tree res = generic_simplify_320 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
	      tree res = generic_simplify_320 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
/* #line 1093 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      if (flag_associative_math
 && single_use (captures[0])
)
			{
			  {
/* #line 1095 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree tem = const_binop (MULT_EXPR, type, captures[1], captures[3]);
/* #line 1097 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						  tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
						  tree res = generic_simplify_288 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
					    tree res = generic_simplify_288 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
					    tree res = generic_simplify_288 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
				      tree res = generic_simplify_288 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      tree captures[1] ATTRIBUTE_UNUSED = { _q70 };
						      tree res = generic_simplify_288 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q70 };
						tree res = generic_simplify_288 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
						tree res = generic_simplify_288 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
					  tree res = generic_simplify_288 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
					    tree res = generic_simplify_216 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
				      tree res = generic_simplify_216 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						tree res = generic_simplify_216 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
					  tree res = generic_simplify_216 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						tree res = generic_simplify_216 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
					  tree res = generic_simplify_216 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						    tree res = generic_simplify_216 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
					      tree res = generic_simplify_216 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					      tree res = generic_simplify_216 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						  tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
						  tree res = generic_simplify_216 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
					      tree res = generic_simplify_288 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
					tree res = generic_simplify_288 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
					tree res = generic_simplify_288 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
				  tree res = generic_simplify_288 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						  tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
						  tree res = generic_simplify_288 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
					    tree res = generic_simplify_288 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
					    tree res = generic_simplify_288 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
				      tree res = generic_simplify_288 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					tree res = generic_simplify_216 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
				  tree res = generic_simplify_216 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					    tree res = generic_simplify_216 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
				      tree res = generic_simplify_216 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
				      tree res = generic_simplify_216 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					  tree res = generic_simplify_216 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
			  tree res = generic_simplify_55 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	    if (tree_negate_expr_p (_p1))
	      {
		{
/* #line 1720 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p1 };
		  tree res = generic_simplify_55 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_440 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_440 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_440 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_440 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_440 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_440 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_440 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_440 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_440 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_440 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_440 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_440 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_440 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_440 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q20 };
			tree res = generic_simplify_55 (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.5.0-r0/gcc-13.5.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;
      }
    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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		    tree res = generic_simplify_55 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
      if (tree_negate_expr_p (_p1))
	{
	  {
/* #line 1720 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_55 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
		  tree res = generic_simplify_55 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
	    tree res = generic_simplify_55 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 1953 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_46 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_46 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_46 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_46 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_46 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_46 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_46 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_46 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_46 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_46 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_46 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_46 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_46 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_46 (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 4220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 4220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q31, _q51 };
					    tree res = generic_simplify_124 (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 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q41 };
				      tree res = generic_simplify_124 (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 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q31, _q51 };
					    tree res = generic_simplify_124 (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 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q41 };
				      tree res = generic_simplify_124 (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 4220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 4220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q21, _q41 };
				      tree res = generic_simplify_124 (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 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _q31 };
				tree res = generic_simplify_124 (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 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q21, _q41 };
				      tree res = generic_simplify_124 (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 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _q31 };
				tree res = generic_simplify_124 (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 4291 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4291, __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 4297 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		tree res = generic_simplify_425 (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 4297 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
		tree res = generic_simplify_425 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    tree res = generic_simplify_204 (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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6516, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    tree res = generic_simplify_204 (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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6516, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    tree res = generic_simplify_204 (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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6516, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    tree res = generic_simplify_204 (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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    tree res = generic_simplify_204 (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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    tree res = generic_simplify_204 (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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    tree res = generic_simplify_204 (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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    tree res = generic_simplify_204 (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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    tree res = generic_simplify_204 (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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    tree res = generic_simplify_204 (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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    tree res = generic_simplify_204 (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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6516, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6516, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6516, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6516, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6522, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6522, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6522, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6522, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6522, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6522, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6522, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6522, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6522, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6522, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6522, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6522, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6522, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6522, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6522, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			  tree res = generic_simplify_103 (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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			  tree res = generic_simplify_103 (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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			  tree res = generic_simplify_103 (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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6660, __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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			  tree res = generic_simplify_103 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_193 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_193 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_193 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_193 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
				tree res = generic_simplify_193 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
				tree res = generic_simplify_193 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
				tree res = generic_simplify_193 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
				tree res = generic_simplify_193 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			  tree res = generic_simplify_103 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			  tree res = generic_simplify_103 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			  tree res = generic_simplify_103 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			  tree res = generic_simplify_103 (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 8488 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
/* #line 8488 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8489, __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 8496 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
					tree res = generic_simplify_236 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_208 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_343 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_208 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_343 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_208 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_343 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_208 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_343 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6867, __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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6867, __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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6867, __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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_70 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_70 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_12 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_12 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_12 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_12 (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 2051 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
/* #line 2051 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2054, __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 2074 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2074, __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 2074 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2074, __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 2074 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2074, __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 2074 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2074, __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 2074 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2074, __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 2074 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2074, __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 2074 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2074, __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 2074 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2074, __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 2114 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		  tree res = generic_simplify_459 (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 2152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_113 (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 2152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_113 (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 2152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
		    tree res = generic_simplify_113 (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 2152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
		    tree res = generic_simplify_113 (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 2162 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			  tree res = generic_simplify_414 (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 2200 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
				      tree res = generic_simplify_366 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
			  tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
			  tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
		    tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
		    tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
			      tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
			      tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
			tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
			tree res = generic_simplify_382 (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 2200 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
			  tree res = generic_simplify_366 (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 2224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_358 (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 2296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2299, __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 2296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
/* #line 2296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2299, __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 2296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
/* #line 2296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2299, __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 2296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
/* #line 2296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2299, __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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
			  tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
			  tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
		    tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
		    tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
		    tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
		    tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
	      tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
	      tree res = generic_simplify_416 (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 2312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2315, __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 2339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
/* #line 2339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2342, __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 2400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
	      tree res = generic_simplify_423 (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 2320 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
		    tree res = generic_simplify_373 (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 2347 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
		    tree res = generic_simplify_231 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		tree res = generic_simplify_175 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
			      tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
			      tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
			tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
			tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
			tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
			tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
		  tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
		  tree res = generic_simplify_382 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
			      tree res = generic_simplify_300 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
			tree res = generic_simplify_300 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
			tree res = generic_simplify_300 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
		  tree res = generic_simplify_300 (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 2114 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
		tree res = generic_simplify_459 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_175 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
		    tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
		    tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
	      tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
	      tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
			tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
			tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
		  tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
		  tree res = generic_simplify_382 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
			  tree res = generic_simplify_174 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
		    tree res = generic_simplify_174 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
			      tree res = generic_simplify_300 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
			tree res = generic_simplify_300 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
			  tree res = generic_simplify_300 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
		    tree res = generic_simplify_300 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
			  tree res = generic_simplify_174 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
		    tree res = generic_simplify_174 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
		    tree res = generic_simplify_174 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
	      tree res = generic_simplify_174 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
	switch (TREE_CODE (_p1))
	  {
	  case ADDR_EXPR:
	    {
	      {
/* #line 2386 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
		tree res = generic_simplify_447 (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 2391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
			    tree res = generic_simplify_116 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
		    tree res = generic_simplify_174 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
	      tree res = generic_simplify_174 (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 2386 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
		tree res = generic_simplify_447 (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 2400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
	      tree res = generic_simplify_423 (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 2414 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_329 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
				      tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
				      tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
				tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
				tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
			  tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
				tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			  tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
			  tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			  tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
		    tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
				tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
			  tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			  tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    tree res = generic_simplify_152 (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 3563 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_387 (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 3563 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_387 (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 3574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_242 (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 3563 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_387 (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 3563 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_387 (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 3583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_28 (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 2451 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
	      tree res = generic_simplify_474 (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 2451 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
	      tree res = generic_simplify_474 (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 3563 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_387 (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 3563 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_387 (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 3563 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_387 (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 3563 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_387 (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 3783 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
			    tree res = generic_simplify_296 (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 3817 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
				  tree res = generic_simplify_359 (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 3953 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q21 };
			    tree res = generic_simplify_142 (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 3790 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
			    tree res = generic_simplify_26 (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 3829 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
				  tree res = generic_simplify_248 (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 3953 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q41, _q21 };
				tree res = generic_simplify_142 (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 3803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_421 (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 3999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_472 (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 4003 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_31 (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 4007 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		tree res = generic_simplify_331 (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 3999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_472 (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 4003 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_31 (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 4007 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		tree res = generic_simplify_331 (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 4232 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
			tree res = generic_simplify_386 (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 4232 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
			tree res = generic_simplify_386 (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 4232 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
			tree res = generic_simplify_386 (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 4232 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q31, _p0, _q30 };
			tree res = generic_simplify_386 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4369 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_198 (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 4365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_75 (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 4369 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_198 (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 4365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_75 (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 4369 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_198 (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 4365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_75 (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 4369 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_198 (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 4365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_75 (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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 5150 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5163 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_126 (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 5150 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5163 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_126 (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 5150 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5163 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_126 (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 5150 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5163 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_126 (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 5150 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5163 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_126 (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 5150 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5163 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_126 (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 5150 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5163 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_126 (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 5150 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5163 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_126 (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 5150 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5163 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_126 (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 5150 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5163 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_126 (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 5150 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5163 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_126 (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 5150 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5163 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_126 (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 5150 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5163 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_126 (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 5150 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5163 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_126 (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 5180 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_44 (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 5180 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_412 (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 5227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    if (integer_zerop (_p1))
	      {
		{
/* #line 5210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		  tree res = generic_simplify_97 (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 5254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_463 (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 5287 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_15 (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 5287 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_15 (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 5293 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, EQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
	    tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5311 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_265 (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 5384 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_61 (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 5384 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_61 (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 5400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_62 (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 5556 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_446 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case REAL_CST:
	    {
	      {
/* #line 5585 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		tree res = generic_simplify_353 (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 5653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		tree res = generic_simplify_243 (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 5776 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_350 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_345 (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 5793 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	      tree res = generic_simplify_106 (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 5800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_341 (loc, type, _p0, _p1, captures, EQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 5800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
	  tree res = generic_simplify_466 (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 5925 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
			    tree res = generic_simplify_43 (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 5892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		tree res = generic_simplify_2 (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 5925 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_43 (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 5932 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_144 (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 5938 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_145 (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 5938 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_145 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_303 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_303 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_303 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_303 (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 5938 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_145 (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 5938 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_145 (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 5943 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_209 (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 5943 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_209 (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 5943 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_209 (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 5943 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_209 (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 5946 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q31 };
				      tree res = generic_simplify_195 (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 5946 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _q51 };
				      tree res = generic_simplify_195 (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 5958 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_161 (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 5958 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_161 (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 5958 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
	      tree res = generic_simplify_161 (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 5958 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
	      tree res = generic_simplify_161 (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 5963 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
			    tree res = generic_simplify_218 (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 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, EQ_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case ADDR_EXPR:
		  {
		    {
/* #line 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    if (integer_zerop (_p1))
	      {
		{
/* #line 5968 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		  tree res = generic_simplify_377 (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 5963 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_218 (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 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
		      tree res = generic_simplify_368 (loc, type, _p0, _p1, captures, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case ADDR_EXPR:
	    {
	      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
		tree res = generic_simplify_368 (loc, type, _p0, _p1, captures, EQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (integer_zerop (_p1))
	{
	  {
/* #line 5968 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	    tree res = generic_simplify_377 (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 5974 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_170 (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 5974 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
		    tree res = generic_simplify_170 (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 5974 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
		    tree res = generic_simplify_170 (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 5974 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
		    tree res = generic_simplify_170 (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 6006 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6078 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
			tree res = generic_simplify_42 (loc, type, _p0, _p1, captures, EQ_EXPR, GE_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
	if (integer_pow2p (_q21))
	  {
	    if (integer_zerop (_p1))
	      {
		{
/* #line 6078 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _q21 };
		  tree res = generic_simplify_338 (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 5985 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			tree res = generic_simplify_409 (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 5995 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
			tree res = generic_simplify_221 (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 5985 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			tree res = generic_simplify_409 (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 5995 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    default:;
    }
  {
/* #line 6143 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    tree res = generic_simplify_371 (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 6156 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		tree res = generic_simplify_281 (loc, type, _p0, _p1, captures, EQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  if (integer_onep (_p1))
    {
      {
/* #line 6293 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6293 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6295, __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 6311 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6311 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 6312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
			  {
			    {
/* #line 6313 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6316 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6320 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6321, __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", 6322, __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 6311 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6311 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 6312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
			  {
			    {
/* #line 6313 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6316 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6320 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6321, __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", 6322, __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 6311 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6311 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 6312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
			  {
			    {
/* #line 6313 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6316 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6320 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6321, __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", 6322, __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 6311 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6311 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 6312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
			  {
			    {
/* #line 6313 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6316 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6320 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6321, __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", 6322, __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 6399 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q60, _q21 };
				      tree res = generic_simplify_402 (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 7364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_206 (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 7364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_206 (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 7632 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_122 (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 7632 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_122 (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 7632 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_122 (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 7632 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_122 (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 7632 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_122 (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 7706 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_429 (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 7706 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_429 (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 7706 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_429 (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 7706 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_429 (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 7706 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_429 (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 7740 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_134 (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 7740 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_134 (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 7740 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_134 (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 7740 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_134 (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 7740 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_134 (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 7878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_337 (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 7878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_337 (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 7878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_337 (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 7878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_337 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_70 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_70 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_12 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_12 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_12 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_12 (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 2041 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
/* #line 2041 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2044, __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 2152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_113 (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 2152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_113 (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 2152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
		    tree res = generic_simplify_113 (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 2152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
		    tree res = generic_simplify_113 (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 2162 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			  tree res = generic_simplify_414 (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 2200 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
				      tree res = generic_simplify_366 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
			  tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
			  tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
		    tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
		    tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
			      tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
			      tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
			tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
			tree res = generic_simplify_382 (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 2200 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
			  tree res = generic_simplify_366 (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 2224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_358 (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 2296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2299, __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 2296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
/* #line 2296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2299, __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 2296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
/* #line 2296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2299, __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 2296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
/* #line 2296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2299, __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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
			  tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
			  tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
		    tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
		    tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
		    tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
		    tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
	      tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
	      tree res = generic_simplify_416 (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 2312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2315, __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 2339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
/* #line 2339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 2342, __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 2400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
	      tree res = generic_simplify_423 (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 2320 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
		    tree res = generic_simplify_373 (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 2347 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
		    tree res = generic_simplify_231 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		tree res = generic_simplify_175 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
			      tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
			      tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
			tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
			tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
			tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
			tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
		  tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
		  tree res = generic_simplify_382 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
			      tree res = generic_simplify_300 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
			tree res = generic_simplify_300 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
			tree res = generic_simplify_300 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
		  tree res = generic_simplify_300 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		tree res = generic_simplify_175 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
		    tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
		    tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
	      tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
	      tree res = generic_simplify_416 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
			tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
			tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
		  tree res = generic_simplify_382 (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 2368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
		  tree res = generic_simplify_382 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
			  tree res = generic_simplify_174 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
		    tree res = generic_simplify_174 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
			      tree res = generic_simplify_300 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
			tree res = generic_simplify_300 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
			  tree res = generic_simplify_300 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
		    tree res = generic_simplify_300 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
			  tree res = generic_simplify_174 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
		    tree res = generic_simplify_174 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
		    tree res = generic_simplify_174 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
	      tree res = generic_simplify_174 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
	switch (TREE_CODE (_p1))
	  {
	  case ADDR_EXPR:
	    {
	      {
/* #line 2386 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
		tree res = generic_simplify_447 (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 2391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
			    tree res = generic_simplify_116 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
		    tree res = generic_simplify_174 (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 2377 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
	      tree res = generic_simplify_174 (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 2386 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
		tree res = generic_simplify_447 (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 2400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
	      tree res = generic_simplify_423 (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 2414 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_329 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
				      tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
				      tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
				tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
				tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
			  tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
				tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			  tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
			  tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			  tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
		    tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
				tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
			  tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			  tree res = generic_simplify_152 (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 2424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    tree res = generic_simplify_152 (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 3563 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_387 (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 3563 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_387 (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 3574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_242 (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 3563 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_387 (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 3563 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_387 (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 3583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_28 (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 2451 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
	      tree res = generic_simplify_474 (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 2451 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
	      tree res = generic_simplify_474 (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 3563 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_387 (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 3563 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_387 (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 3563 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_387 (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 3563 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_387 (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 3783 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
			    tree res = generic_simplify_296 (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 3817 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
				  tree res = generic_simplify_359 (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 3953 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q21 };
			    tree res = generic_simplify_142 (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 3790 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
			    tree res = generic_simplify_26 (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 3829 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
				  tree res = generic_simplify_248 (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 3953 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q41, _q21 };
				tree res = generic_simplify_142 (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 3803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_421 (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 3999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_472 (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 4003 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_31 (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 4007 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		tree res = generic_simplify_331 (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 3999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_472 (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 4003 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_31 (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 4007 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		tree res = generic_simplify_331 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4369 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_198 (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 4365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_75 (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 4369 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_198 (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 4365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_75 (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 4369 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_198 (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 4365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_75 (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 4369 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_198 (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 4365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_75 (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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 5146 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_92 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_335 (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 5146 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_92 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_335 (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 5146 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_92 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_335 (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 5146 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_92 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_335 (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 5146 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_92 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_335 (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 5146 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_92 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_335 (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 5146 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_92 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_335 (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 5146 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_92 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_335 (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 5146 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_92 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_335 (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 5146 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_92 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_335 (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 5146 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_92 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_335 (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 5146 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_92 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_335 (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 5146 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_92 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_335 (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 5146 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_92 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_335 (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 5180 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_44 (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 5180 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_412 (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 5227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    if (integer_zerop (_p1))
	      {
		{
/* #line 5210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		  tree res = generic_simplify_97 (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 5265 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_313 (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 5287 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_15 (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 5287 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_15 (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 5293 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, NE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
	    tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5311 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_265 (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 5384 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_61 (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 5384 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_61 (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 5400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_62 (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 5556 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_446 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case REAL_CST:
	    {
	      {
/* #line 5585 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		tree res = generic_simplify_353 (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 5653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		tree res = generic_simplify_243 (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 5776 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_350 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_345 (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 5793 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	      tree res = generic_simplify_106 (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 5800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_341 (loc, type, _p0, _p1, captures, NE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 5800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
	  tree res = generic_simplify_466 (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 5925 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
			    tree res = generic_simplify_43 (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 5892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		tree res = generic_simplify_2 (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 5925 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_43 (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 5932 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_144 (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 5938 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_145 (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 5938 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_145 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_303 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_303 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_303 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_303 (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 5938 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_145 (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 5938 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_145 (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 5943 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_209 (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 5943 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_209 (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 5943 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_209 (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 5943 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_209 (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 5946 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q31 };
				      tree res = generic_simplify_195 (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 5946 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _q51 };
				      tree res = generic_simplify_195 (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 5958 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_161 (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 5958 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_161 (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 5958 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
	      tree res = generic_simplify_161 (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 5958 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
	      tree res = generic_simplify_161 (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 5963 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
			    tree res = generic_simplify_218 (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 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, NE_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case ADDR_EXPR:
		  {
		    {
/* #line 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    if (integer_zerop (_p1))
	      {
		{
/* #line 5968 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		  tree res = generic_simplify_377 (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 5963 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_218 (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 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
		      tree res = generic_simplify_368 (loc, type, _p0, _p1, captures, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case ADDR_EXPR:
	    {
	      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
		tree res = generic_simplify_368 (loc, type, _p0, _p1, captures, NE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (integer_zerop (_p1))
	{
	  {
/* #line 5968 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	    tree res = generic_simplify_377 (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 5974 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_170 (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 5974 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
		    tree res = generic_simplify_170 (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 5974 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
		    tree res = generic_simplify_170 (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 5974 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
		    tree res = generic_simplify_170 (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 6006 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6078 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
			tree res = generic_simplify_42 (loc, type, _p0, _p1, captures, NE_EXPR, LT_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
	if (integer_pow2p (_q21))
	  {
	    if (integer_zerop (_p1))
	      {
		{
/* #line 6078 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _q21 };
		  tree res = generic_simplify_338 (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 5985 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			tree res = generic_simplify_409 (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 5995 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
			tree res = generic_simplify_221 (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 5985 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			tree res = generic_simplify_409 (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 5995 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    default:;
    }
  {
/* #line 6143 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    tree res = generic_simplify_371 (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 6156 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		tree res = generic_simplify_281 (loc, type, _p0, _p1, captures, NE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 6287 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6287 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6289, __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 6311 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6311 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 6312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
			  {
			    {
/* #line 6313 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6316 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6320 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6321, __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", 6322, __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 6311 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6311 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 6312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
			  {
			    {
/* #line 6313 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6316 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6320 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6321, __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", 6322, __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 6311 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6311 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 6312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
			  {
			    {
/* #line 6313 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6316 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6320 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6321, __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", 6322, __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 6311 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6311 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 6312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
			  {
			    {
/* #line 6313 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6316 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6320 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6321, __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", 6322, __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 6399 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q60, _q21 };
				      tree res = generic_simplify_402 (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 7364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_206 (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 7364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_206 (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 7632 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_122 (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 7632 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_122 (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 7632 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_122 (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 7632 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_122 (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 7632 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_122 (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 7706 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_429 (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 7706 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_429 (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 7706 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_429 (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 7706 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_429 (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 7706 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_429 (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 7740 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_134 (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 7740 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_134 (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 7740 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_134 (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 7740 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_134 (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 7740 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_134 (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 7878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_337 (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 7878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_337 (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 7878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_337 (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 7878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_337 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_441 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q50, _q51 };
			  tree res = generic_simplify_57 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q41 };
		    tree res = generic_simplify_57 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q40, _q41 };
		    tree res = generic_simplify_189 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q31 };
	      tree res = generic_simplify_189 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_422 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_245 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      tree res = generic_simplify_95 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_33 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_249 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_249 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_154 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_154 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_165 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
			    tree res = generic_simplify_394 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_394 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 830 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_125 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_125 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 469 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_441 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
	if (res) return res;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_422 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_245 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      tree res = generic_simplify_95 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_33 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_249 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_249 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_154 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_154 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
			    tree res = generic_simplify_394 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_394 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_125 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_125 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_441 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
	if (res) return res;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_422 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_245 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      tree res = generic_simplify_95 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_33 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_249 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_249 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_154 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_154 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  {
/* #line 458 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    tree res = generic_simplify_428 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
			    tree res = generic_simplify_394 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_394 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_125 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_125 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_441 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
	if (res) return res;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_422 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_245 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      tree res = generic_simplify_95 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_33 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_249 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_249 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_154 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_154 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
			    tree res = generic_simplify_394 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_394 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_125 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_125 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_441 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
	if (res) return res;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_422 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_245 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      tree res = generic_simplify_95 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_33 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_249 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_249 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_154 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_154 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_165 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
			    tree res = generic_simplify_394 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_394 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_125 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_125 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    tree res = generic_simplify_428 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_59 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
	if (res) return res;
      }
    }
  if (integer_onep (_p1))
    {
      {
/* #line 718 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_101 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
	if (res) return res;
      }
    }
  if (integer_minus_onep (_p1))
    {
      {
/* #line 722 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_49 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_400 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_67 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_196 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
		tree res = generic_simplify_471 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
	tree res = generic_simplify_471 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 597 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_89 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_89 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  tree res = generic_simplify_332 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
			  tree res = generic_simplify_332 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_332 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_332 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  if (real_onep (_p1))
    {
      {
/* #line 628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 634 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
/* #line 637 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
/* #line 637 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		if (flag_reciprocal_math
)
		  {
		    {
/* #line 646 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[3]);
/* #line 648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
/* #line 637 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 696 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (optimize
)
	    {
/* #line 697 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (flag_reciprocal_math
 && !real_zerop (captures[1])
)
		{
		  {
/* #line 699 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
/* #line 701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (REAL_CST != COMPLEX_CST
)
		    {
		      {
/* #line 704 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree inverse = exact_inverse (type, captures[1]);
/* #line 705 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 696 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (optimize
)
	    {
/* #line 697 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (flag_reciprocal_math
 && !real_zerop (captures[1])
)
		{
		  {
/* #line 699 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
/* #line 701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (COMPLEX_CST != COMPLEX_CST
)
		    {
		      {
/* #line 704 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree inverse = exact_inverse (type, captures[1]);
/* #line 705 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 696 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (optimize
)
	    {
/* #line 697 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (flag_reciprocal_math
 && !real_zerop (captures[1])
)
		{
		  {
/* #line 699 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
/* #line 701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  if (VECTOR_CST != COMPLEX_CST
)
		    {
		      {
/* #line 704 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree inverse = exact_inverse (type, captures[1]);
/* #line 705 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6528, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6528, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6528, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6528, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6528, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6528, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6528, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6534, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6534, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6534, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6534, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6534, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6534, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6534, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6534, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6534, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6534, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6534, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6534, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6534, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6534, __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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6534, __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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_355 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_58 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_355 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_58 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_355 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_58 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_355 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_58 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_272 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_272 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_272 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_272 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_316 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_316 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_316 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_316 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_449 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_449 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_449 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_449 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_128 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_128 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_128 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_128 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  tree res = generic_simplify_173 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  tree res = generic_simplify_173 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  tree res = generic_simplify_173 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  tree res = generic_simplify_173 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
		tree res = generic_simplify_291 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
		tree res = generic_simplify_291 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
		tree res = generic_simplify_291 (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 6808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
		tree res = generic_simplify_291 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		    tree res = generic_simplify_305 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_123 (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 2175 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_328 (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 2175 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_328 (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 2175 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
		    tree res = generic_simplify_328 (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 2175 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
		    tree res = generic_simplify_328 (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 2200 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
				      tree res = generic_simplify_366 (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 2200 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
			  tree res = generic_simplify_366 (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 2224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_358 (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 2276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_6 (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 2276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_6 (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 2276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
		    tree res = generic_simplify_6 (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 2276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
		    tree res = generic_simplify_6 (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 2286 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			  tree res = generic_simplify_311 (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 2359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_109 (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 2359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
	      tree res = generic_simplify_109 (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 2305 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_399 (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 2332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_260 (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 2320 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
		    tree res = generic_simplify_373 (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 2347 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
		    tree res = generic_simplify_231 (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 2359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
	      tree res = generic_simplify_109 (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 2359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
	      tree res = generic_simplify_109 (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 2400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
	      tree res = generic_simplify_423 (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 2400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
	      tree res = generic_simplify_423 (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 3595 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_224 (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 3595 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_224 (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 3605 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_222 (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 3605 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_222 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 5103 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      tree res = generic_simplify_238 (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 5210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		    tree res = generic_simplify_97 (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 5265 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_313 (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 5293 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, LT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
	    tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5311 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_265 (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 5384 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_61 (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 6332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
		    tree res = generic_simplify_307 (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 5384 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_61 (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 5400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_62 (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 5556 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_446 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case REAL_CST:
	    {
	      {
/* #line 5585 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		tree res = generic_simplify_353 (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 5669 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_3 (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 5692 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
			    tree res = generic_simplify_226 (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 5800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_341 (loc, type, _p0, _p1, captures, LT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 5800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
	  tree res = generic_simplify_466 (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 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, LT_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case ADDR_EXPR:
		  {
		    {
/* #line 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, LT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	if (uniform_integer_cst_p (_p1))
	  {
	    {
/* #line 6176 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
	      tree res = generic_simplify_404 (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 5776 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_350 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_345 (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 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
		      tree res = generic_simplify_368 (loc, type, _p0, _p1, captures, LT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case ADDR_EXPR:
	    {
	      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
		tree res = generic_simplify_368 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_303 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_303 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_303 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_303 (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 6176 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
	tree res = generic_simplify_268 (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 6332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
				tree res = generic_simplify_383 (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 6332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
				tree res = generic_simplify_383 (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 6332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
		    tree res = generic_simplify_307 (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 6351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
	      tree res = generic_simplify_396 (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 6360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
			tree res = generic_simplify_111 (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 6370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
			  tree res = generic_simplify_274 (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 6378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
			  tree res = generic_simplify_277 (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 6378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q31, _q30 };
			  tree res = generic_simplify_277 (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 6388 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _p1 };
	      tree res = generic_simplify_395 (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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_262 (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 7380 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_211 (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 7380 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_211 (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 7667 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_239 (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 7667 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_239 (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 7667 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_239 (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 7667 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_239 (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 7667 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_239 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		    tree res = generic_simplify_305 (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.5.0-r0/gcc-13.5.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 2175 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_328 (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 2175 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_328 (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 2175 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
		    tree res = generic_simplify_328 (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 2175 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
		    tree res = generic_simplify_328 (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 2188 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		    tree res = generic_simplify_241 (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 2276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_6 (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 2276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_6 (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 2276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
		    tree res = generic_simplify_6 (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 2276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
		    tree res = generic_simplify_6 (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 2286 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			  tree res = generic_simplify_311 (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 2359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_109 (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 2359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
	      tree res = generic_simplify_109 (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 2200 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
				      tree res = generic_simplify_366 (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 2200 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
			  tree res = generic_simplify_366 (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 2224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_358 (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 2305 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_399 (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 2332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_260 (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 2320 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
		    tree res = generic_simplify_373 (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 2347 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
		    tree res = generic_simplify_231 (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 2359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
	      tree res = generic_simplify_109 (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 2359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
	      tree res = generic_simplify_109 (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 2400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
	      tree res = generic_simplify_423 (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 2400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
	      tree res = generic_simplify_423 (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 3595 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_224 (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 3595 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_224 (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 3605 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_222 (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 3605 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_222 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 5093 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      tree res = generic_simplify_76 (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 5210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		    tree res = generic_simplify_97 (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 5254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_463 (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 5293 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, LE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
	    tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5311 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_265 (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 5384 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_61 (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 6332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
		    tree res = generic_simplify_307 (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 5384 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_61 (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 5400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_62 (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 5556 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_446 (loc, type, _p0, _p1, captures, LE_EXPR, LE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case REAL_CST:
	    {
	      {
/* #line 5585 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		tree res = generic_simplify_353 (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 5669 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_3 (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 5692 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
			    tree res = generic_simplify_226 (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 5800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_341 (loc, type, _p0, _p1, captures, LE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 5800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
	  tree res = generic_simplify_466 (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 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, LE_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case ADDR_EXPR:
		  {
		    {
/* #line 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, LE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	if (uniform_integer_cst_p (_p1))
	  {
	    {
/* #line 6176 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
	      tree res = generic_simplify_404 (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 5757 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_264 (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 5776 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_350 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_345 (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 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
		      tree res = generic_simplify_368 (loc, type, _p0, _p1, captures, LE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case ADDR_EXPR:
	    {
	      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
		tree res = generic_simplify_368 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_303 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_303 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_303 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_303 (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 6176 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
	tree res = generic_simplify_268 (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 6332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
				tree res = generic_simplify_383 (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 6332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
				tree res = generic_simplify_383 (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 6332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
		    tree res = generic_simplify_307 (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 6351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_396 (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 6360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
			tree res = generic_simplify_190 (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 6370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
			  tree res = generic_simplify_8 (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 6378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
			  tree res = generic_simplify_257 (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 6378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q40 };
			  tree res = generic_simplify_257 (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 6388 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
	      tree res = generic_simplify_71 (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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_262 (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 7380 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_211 (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 7380 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_211 (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 7667 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_239 (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 7667 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_239 (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 7667 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_239 (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 7667 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_239 (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 7667 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_239 (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 7740 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_134 (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 7740 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_134 (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 7740 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_134 (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 7740 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_134 (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 7740 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_134 (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 7899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_301 (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 7899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_301 (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 7899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_301 (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 7899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_301 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		    tree res = generic_simplify_305 (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.5.0-r0/gcc-13.5.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 2175 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_328 (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 2175 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_328 (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 2175 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
		    tree res = generic_simplify_328 (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 2175 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
		    tree res = generic_simplify_328 (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 2188 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		    tree res = generic_simplify_241 (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 2276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_6 (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 2276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_6 (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 2276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
		    tree res = generic_simplify_6 (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 2276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
		    tree res = generic_simplify_6 (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 2286 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			  tree res = generic_simplify_311 (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 2359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_109 (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 2359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
	      tree res = generic_simplify_109 (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 2200 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
				      tree res = generic_simplify_366 (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 2200 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
			  tree res = generic_simplify_366 (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 2224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_358 (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 2305 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_399 (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 2332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_260 (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 2320 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
		    tree res = generic_simplify_373 (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 2347 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
		    tree res = generic_simplify_231 (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 2359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
	      tree res = generic_simplify_109 (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 2359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
	      tree res = generic_simplify_109 (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 2400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
	      tree res = generic_simplify_423 (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 2400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
	      tree res = generic_simplify_423 (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 3595 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_224 (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 3595 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_224 (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 3605 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_222 (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 3605 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_222 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 5093 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      tree res = generic_simplify_76 (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 5210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		    tree res = generic_simplify_97 (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 5265 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_313 (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 5293 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, GT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
	    tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5311 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_265 (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 5384 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_61 (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 6332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
		    tree res = generic_simplify_307 (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 5384 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_61 (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 5400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_62 (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 5556 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_446 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case REAL_CST:
	    {
	      {
/* #line 5585 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		tree res = generic_simplify_353 (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 5669 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_3 (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 5692 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
			    tree res = generic_simplify_226 (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 5800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_341 (loc, type, _p0, _p1, captures, GT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 5800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
	  tree res = generic_simplify_466 (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 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, GT_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case ADDR_EXPR:
		  {
		    {
/* #line 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, GT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	if (uniform_integer_cst_p (_p1))
	  {
	    {
/* #line 6176 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
	      tree res = generic_simplify_404 (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 5757 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_264 (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 5776 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_350 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_345 (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 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
		      tree res = generic_simplify_368 (loc, type, _p0, _p1, captures, GT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case ADDR_EXPR:
	    {
	      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
		tree res = generic_simplify_368 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_303 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_303 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_303 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_303 (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 6176 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
	tree res = generic_simplify_268 (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 6332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
				tree res = generic_simplify_383 (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 6332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
				tree res = generic_simplify_383 (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 6332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
		    tree res = generic_simplify_307 (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 6351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_396 (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 6360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
			tree res = generic_simplify_190 (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 6370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
			  tree res = generic_simplify_8 (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 6378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
			  tree res = generic_simplify_257 (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 6378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q40 };
			  tree res = generic_simplify_257 (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 6388 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
	      tree res = generic_simplify_71 (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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_262 (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 7380 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_211 (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 7380 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_211 (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 7667 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_239 (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 7667 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_239 (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 7667 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_239 (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 7667 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_239 (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 7667 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_239 (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 7740 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_134 (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 7740 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_134 (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 7740 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_134 (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 7740 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_134 (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 7740 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_134 (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 7899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_301 (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 7899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_301 (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 7899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_301 (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 7899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_301 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		    tree res = generic_simplify_305 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_123 (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 2175 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_328 (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 2175 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_328 (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 2175 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
		    tree res = generic_simplify_328 (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 2175 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
		    tree res = generic_simplify_328 (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 2200 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
				      tree res = generic_simplify_366 (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 2200 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
			  tree res = generic_simplify_366 (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 2224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_358 (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 2276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_6 (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 2276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_6 (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 2276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
		    tree res = generic_simplify_6 (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 2276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
		    tree res = generic_simplify_6 (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 2286 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			  tree res = generic_simplify_311 (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 2359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_109 (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 2359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
	      tree res = generic_simplify_109 (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 2305 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_399 (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 2332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_260 (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 2320 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
		    tree res = generic_simplify_373 (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 2347 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
		    tree res = generic_simplify_231 (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 2359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
	      tree res = generic_simplify_109 (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 2359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
	      tree res = generic_simplify_109 (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 2400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
	      tree res = generic_simplify_423 (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 2400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
	      tree res = generic_simplify_423 (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 3595 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_224 (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 3595 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_224 (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 3605 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_222 (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 3605 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_222 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 5103 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      tree res = generic_simplify_238 (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 5210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		    tree res = generic_simplify_97 (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 5254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_463 (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 5293 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, GE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
	    tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5311 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_265 (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 5384 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_61 (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 6332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
		    tree res = generic_simplify_307 (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 5384 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_61 (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 5400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_62 (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 5556 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_446 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case REAL_CST:
	    {
	      {
/* #line 5585 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		tree res = generic_simplify_353 (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 5669 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_3 (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 5692 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
			    tree res = generic_simplify_226 (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 5800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_341 (loc, type, _p0, _p1, captures, GE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 5800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
	  tree res = generic_simplify_466 (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 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, GE_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case ADDR_EXPR:
		  {
		    {
/* #line 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, GE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	if (uniform_integer_cst_p (_p1))
	  {
	    {
/* #line 6176 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
	      tree res = generic_simplify_404 (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 5776 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_350 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_345 (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 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
		      tree res = generic_simplify_368 (loc, type, _p0, _p1, captures, GE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case ADDR_EXPR:
	    {
	      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
		tree res = generic_simplify_368 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_303 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_303 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_303 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_348 (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 5408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_303 (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 6176 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
	tree res = generic_simplify_268 (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 6332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
				tree res = generic_simplify_383 (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 6332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
				tree res = generic_simplify_383 (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 6332 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
		    tree res = generic_simplify_307 (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 6351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
	      tree res = generic_simplify_396 (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 6360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
			tree res = generic_simplify_111 (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 6370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
			  tree res = generic_simplify_274 (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 6378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
			  tree res = generic_simplify_277 (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 6378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q31, _q30 };
			  tree res = generic_simplify_277 (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 6388 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _p1 };
	      tree res = generic_simplify_395 (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 6482 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_262 (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 7380 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_211 (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 7380 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_211 (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 7667 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_239 (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 7667 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_239 (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 7667 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_239 (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 7667 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_239 (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 7667 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_239 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_59 (loc, type, _p0, _p1, captures, CEIL_MOD_EXPR);
	if (res) return res;
      }
    }
  if (integer_onep (_p1))
    {
      {
/* #line 718 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_101 (loc, type, _p0, _p1, captures, CEIL_MOD_EXPR);
	if (res) return res;
      }
    }
  if (integer_minus_onep (_p1))
    {
      {
/* #line 722 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_49 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_400 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_67 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_196 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_59 (loc, type, _p0, _p1, captures, ROUND_MOD_EXPR);
	if (res) return res;
      }
    }
  if (integer_onep (_p1))
    {
      {
/* #line 718 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_101 (loc, type, _p0, _p1, captures, ROUND_MOD_EXPR);
	if (res) return res;
      }
    }
  if (integer_minus_onep (_p1))
    {
      {
/* #line 722 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_49 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_400 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_67 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_196 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_59 (loc, type, _p0, _p1, captures, TRUNC_MOD_EXPR);
	if (res) return res;
      }
    }
  if (integer_onep (_p1))
    {
      {
/* #line 718 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_101 (loc, type, _p0, _p1, captures, TRUNC_MOD_EXPR);
	if (res) return res;
      }
    }
  if (integer_minus_onep (_p1))
    {
      {
/* #line 722 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_49 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_400 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_67 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_196 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 754 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
		tree res = generic_simplify_78 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
	      tree res = generic_simplify_471 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	  tree res = generic_simplify_78 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
	tree res = generic_simplify_471 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q50 };
		tree res = generic_simplify_326 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q50 };
		tree res = generic_simplify_326 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      tree res = generic_simplify_82 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
/* #line 1050 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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 3681 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _q41 };
/* #line 3681 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3693, __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 3675 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    tree res = generic_simplify_16 (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 3675 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
			tree res = generic_simplify_16 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
/* #line 1038 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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 3711 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
	if (res) return res;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 3714 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_140 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case VECTOR_CST:
      {
	{
/* #line 3720 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
	  if (res) return res;
	}
        break;
      }
    case CONSTRUCTOR:
      {
	{
/* #line 3720 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_339 (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 3751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_293 (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 3963 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
			    tree res = generic_simplify_444 (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 3963 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
			    tree res = generic_simplify_444 (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 3963 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
			    tree res = generic_simplify_444 (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 3963 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_250 (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 3963 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_250 (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 3963 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_250 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 8488 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
/* #line 8488 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8489, __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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q50 };
		tree res = generic_simplify_326 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q50 };
		tree res = generic_simplify_326 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      tree res = generic_simplify_82 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
/* #line 1061 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		if (!TYPE_UNSIGNED (type)
 && TYPE_OVERFLOW_UNDEFINED (type)
)
		  {
		    {
/* #line 1063 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
/* #line 1061 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		if (!TYPE_UNSIGNED (type)
 && TYPE_OVERFLOW_UNDEFINED (type)
)
		  {
		    {
/* #line 1063 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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 3699 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 3699 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3701, __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 3669 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 3669 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3670, __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 3706 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3706, __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 3711 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
	if (res) return res;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 3714 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_140 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case VECTOR_CST:
      {
	{
/* #line 3720 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
	  if (res) return res;
	}
        break;
      }
    case CONSTRUCTOR:
      {
	{
/* #line 3720 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_339 (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 3751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_293 (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 3963 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
			    tree res = generic_simplify_444 (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 3963 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
			    tree res = generic_simplify_444 (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 3963 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
			    tree res = generic_simplify_444 (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 4401 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
			    tree res = generic_simplify_203 (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 4401 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
			    tree res = generic_simplify_203 (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 4401 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
			    tree res = generic_simplify_203 (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 4401 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
			    tree res = generic_simplify_203 (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 3963 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_250 (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 3963 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_250 (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 3963 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_250 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4401 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_203 (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 4401 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_203 (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 4401 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_203 (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 4401 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_203 (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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 8488 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
/* #line 8488 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8489, __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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_292 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_415 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  tree res = generic_simplify_187 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
			  tree res = generic_simplify_187 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_187 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_187 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q41 };
/* #line 1108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p0, _q20, _q31 };
/* #line 1108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
			    tree res = generic_simplify_385 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
			    tree res = generic_simplify_385 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
			    tree res = generic_simplify_385 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
			    tree res = generic_simplify_470 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
			    tree res = generic_simplify_470 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
			    tree res = generic_simplify_470 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		tree res = generic_simplify_271 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			tree res = generic_simplify_160 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			tree res = generic_simplify_426 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			      tree res = generic_simplify_389 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			      tree res = generic_simplify_389 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
			      tree res = generic_simplify_389 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
			      tree res = generic_simplify_389 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 1230 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q61 };
			      tree res = generic_simplify_401 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q60 };
			      tree res = generic_simplify_401 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q61 };
			      tree res = generic_simplify_401 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q60 };
			      tree res = generic_simplify_401 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q71 };
			      tree res = generic_simplify_401 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q70 };
			      tree res = generic_simplify_401 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q71 };
			      tree res = generic_simplify_401 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q70 };
			      tree res = generic_simplify_401 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _p0, _q20, _q31 };
			      tree res = generic_simplify_317 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _p0, _q20, _q30 };
			      tree res = generic_simplify_317 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _p0, _q20, _q31 };
			      tree res = generic_simplify_317 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _p0, _q20, _q30 };
			      tree res = generic_simplify_317 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _p0, _q21, _q41 };
			      tree res = generic_simplify_317 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _p0, _q21, _q40 };
			      tree res = generic_simplify_317 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _p0, _q21, _q41 };
			      tree res = generic_simplify_317 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _p0, _q21, _q40 };
			      tree res = generic_simplify_317 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
			    tree res = generic_simplify_385 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
			    tree res = generic_simplify_385 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
			    tree res = generic_simplify_385 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
			    tree res = generic_simplify_470 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
			    tree res = generic_simplify_470 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
			    tree res = generic_simplify_470 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		tree res = generic_simplify_271 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
			    tree res = generic_simplify_212 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
			    tree res = generic_simplify_212 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
			    tree res = generic_simplify_212 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_424 (loc, type, _p0, _p1, captures);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 1313 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_464 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q41 };
		    tree res = generic_simplify_17 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
		    tree res = generic_simplify_17 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q20, _q31 };
		    tree res = generic_simplify_17 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q20, _q30 };
		    tree res = generic_simplify_17 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _p0 };
		    tree res = generic_simplify_27 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _p0 };
		    tree res = generic_simplify_27 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
			      tree res = generic_simplify_132 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
		      tree res = generic_simplify_475 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_475 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		    tree res = generic_simplify_96 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
		    tree res = generic_simplify_96 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			      tree res = generic_simplify_132 (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.5.0-r0/gcc-13.5.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:;
		    }
	        }
	      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.5.0-r0/gcc-13.5.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;
			    }
			  }
		      }
		    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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			      tree res = generic_simplify_50 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			      tree res = generic_simplify_50 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q21, _p1 };
				    tree res = generic_simplify_227 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q21, _p1 };
				    tree res = generic_simplify_227 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q40, _q20, _p1 };
				    tree res = generic_simplify_227 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q40, _q20, _p1 };
				    tree res = generic_simplify_227 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
			      tree res = generic_simplify_50 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
			      tree res = generic_simplify_50 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
			      tree res = generic_simplify_50 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
			      tree res = generic_simplify_50 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_102 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
	      tree res = generic_simplify_102 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q60 };
			    tree res = generic_simplify_475 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
		      tree res = generic_simplify_475 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
	      tree res = generic_simplify_102 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
	      tree res = generic_simplify_102 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
				tree res = generic_simplify_166 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
				tree res = generic_simplify_166 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
				tree res = generic_simplify_166 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
				tree res = generic_simplify_166 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
			  tree res = generic_simplify_73 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
			  tree res = generic_simplify_73 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
		    tree res = generic_simplify_73 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
		    tree res = generic_simplify_73 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q51, _q20 };
			  tree res = generic_simplify_461 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q51, _q50, _q20 };
			  tree res = generic_simplify_461 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _q20 };
		    tree res = generic_simplify_461 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _q20 };
		    tree res = generic_simplify_461 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
		    tree res = generic_simplify_166 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q20 };
		    tree res = generic_simplify_166 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q21 };
		    tree res = generic_simplify_166 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q21 };
		    tree res = generic_simplify_166 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0 };
		    tree res = generic_simplify_461 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _p0 };
		    tree res = generic_simplify_461 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
		    tree res = generic_simplify_73 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
		    tree res = generic_simplify_73 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q61 };
			  tree res = generic_simplify_419 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q60 };
			  tree res = generic_simplify_419 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q61 };
			  tree res = generic_simplify_419 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q60 };
			  tree res = generic_simplify_419 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
	      tree res = generic_simplify_73 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
	      tree res = generic_simplify_73 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q51 };
		    tree res = generic_simplify_200 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q50 };
		    tree res = generic_simplify_200 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q51 };
		    tree res = generic_simplify_200 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q50 };
		    tree res = generic_simplify_200 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
	      tree res = generic_simplify_461 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q31, _q30, _p0 };
	      tree res = generic_simplify_461 (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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q61 };
			  tree res = generic_simplify_282 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q60 };
			  tree res = generic_simplify_282 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q61 };
			  tree res = generic_simplify_282 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q60 };
			  tree res = generic_simplify_282 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 1802 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
	  tree res = generic_simplify_369 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_312 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_312 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
		    tree res = generic_simplify_220 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
		    tree res = generic_simplify_220 (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.5.0-r0/gcc-13.5.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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_312 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_312 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
		    tree res = generic_simplify_220 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    tree res = generic_simplify_220 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_467 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_349 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p1 };
		    tree res = generic_simplify_424 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	    tree res = generic_simplify_349 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
		    tree res = generic_simplify_424 (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.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
	      tree res = generic_simplify_424 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_81 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_81 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_81 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_81 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_81 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_81 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_81 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_81 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_81 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_81 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_81 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_81 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_81 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_81 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_171 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_171 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_171 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_171 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_171 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_171 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_171 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_171 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_171 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_171 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_171 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_171 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_171 (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 2131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_171 (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 2599 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		tree res = generic_simplify_143 (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 3865 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31, _p1 };
				  tree res = generic_simplify_435 (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 3865 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q31, _p1 };
			    tree res = generic_simplify_19 (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 3865 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31, _p1 };
				  tree res = generic_simplify_435 (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 4375 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
					      tree res = generic_simplify_376 (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 4375 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
					      tree res = generic_simplify_376 (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 4375 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
					      tree res = generic_simplify_376 (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 4375 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
					      tree res = generic_simplify_376 (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 3865 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q31, _p1 };
			    tree res = generic_simplify_19 (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 4375 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
					tree res = generic_simplify_376 (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 4375 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
					tree res = generic_simplify_376 (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 4375 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
					tree res = generic_simplify_376 (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 4375 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
					tree res = generic_simplify_376 (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 4436 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
			    tree res = generic_simplify_302 (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 4436 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
			    tree res = generic_simplify_302 (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 4436 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
			    tree res = generic_simplify_302 (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 4436 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
			    tree res = generic_simplify_302 (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 2599 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_143 (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 2627 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			tree res = generic_simplify_192 (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 2639 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			tree res = generic_simplify_52 (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 2627 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			tree res = generic_simplify_192 (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 2639 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			tree res = generic_simplify_52 (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 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_37 (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 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_37 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_346 (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 2627 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			tree res = generic_simplify_192 (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 2639 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			tree res = generic_simplify_52 (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 2627 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			tree res = generic_simplify_192 (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 2639 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			tree res = generic_simplify_52 (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 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_37 (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 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_37 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_346 (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 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      {
/* #line 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_37 (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 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      {
/* #line 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_37 (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 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_223 (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 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_223 (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 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_223 (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 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_223 (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 2627 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
		      tree res = generic_simplify_354 (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 2627 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
		      tree res = generic_simplify_354 (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 2648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
		      tree res = generic_simplify_178 (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 2648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
		      tree res = generic_simplify_178 (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 2639 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
		      tree res = generic_simplify_150 (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 2639 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
		      tree res = generic_simplify_150 (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 2653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
		      tree res = generic_simplify_318 (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 2653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
		      tree res = generic_simplify_318 (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 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      {
/* #line 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_37 (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 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      {
/* #line 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_37 (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 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_223 (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 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_223 (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 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_223 (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 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_223 (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 2627 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
		      tree res = generic_simplify_354 (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 2627 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
		      tree res = generic_simplify_354 (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 2696 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
		      tree res = generic_simplify_188 (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 2696 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q51 };
		      tree res = generic_simplify_188 (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 2639 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
		      tree res = generic_simplify_150 (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 2639 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
		      tree res = generic_simplify_150 (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 2648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			tree res = generic_simplify_13 (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 2653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
			tree res = generic_simplify_309 (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 2696 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _p0, _q21 };
			tree res = generic_simplify_68 (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 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_37 (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 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_37 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_346 (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 2648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
			tree res = generic_simplify_13 (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 2653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			tree res = generic_simplify_309 (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 2696 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _p0, _q20 };
			tree res = generic_simplify_68 (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 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_37 (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 2707 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_37 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_346 (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 2733 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_346 (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 3772 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 3772 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3773, __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", 3774, __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 3865 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21, _p1 };
			    tree res = generic_simplify_91 (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 3865 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21, _p1 };
		      tree res = generic_simplify_158 (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 3865 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21, _p1 };
			    tree res = generic_simplify_91 (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 4375 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
					tree res = generic_simplify_376 (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 4375 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
					tree res = generic_simplify_376 (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 4375 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
					tree res = generic_simplify_376 (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 4375 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
					tree res = generic_simplify_376 (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 3865 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21, _p1 };
		      tree res = generic_simplify_158 (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 4375 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
				  tree res = generic_simplify_376 (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 4375 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
				  tree res = generic_simplify_376 (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 4375 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
				  tree res = generic_simplify_376 (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 4375 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
				  tree res = generic_simplify_376 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4436 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_302 (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 4436 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_302 (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 4436 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_302 (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 4436 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_302 (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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 5716 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
/* #line 5716 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5717, __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 5723 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5723 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5723 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			tree res = generic_simplify_34 (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 5723 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q21, _p0, _q20 };
			tree res = generic_simplify_34 (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 5739 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_199 (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 5739 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_199 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_378 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
		    tree res = generic_simplify_378 (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 5739 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_199 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
		    tree res = generic_simplify_378 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
		    tree res = generic_simplify_378 (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 5739 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_199 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
		    tree res = generic_simplify_378 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
		    tree res = generic_simplify_378 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_378 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
		    tree res = generic_simplify_378 (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 5739 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_199 (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 5739 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_199 (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 5739 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_199 (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 5739 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_199 (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 5739 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_199 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
		    tree res = generic_simplify_378 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
		    tree res = generic_simplify_378 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_378 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
		    tree res = generic_simplify_378 (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 5739 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_199 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_378 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
		    tree res = generic_simplify_378 (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 5739 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_199 (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 5739 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_199 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
		    tree res = generic_simplify_378 (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 7343 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
		    tree res = generic_simplify_378 (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 7310 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1 };
			    tree res = generic_simplify_310 (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 7310 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1 };
			    tree res = generic_simplify_310 (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 8473 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 8473 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8474, __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 8488 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
/* #line 8488 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8489, __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 7745 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_135 (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 7745 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_135 (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 7745 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_135 (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 7745 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_135 (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 7745 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_135 (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 3414 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_225 (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 3424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_41 (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 3424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_41 (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 3424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
	      tree res = generic_simplify_41 (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 3424 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
	      tree res = generic_simplify_41 (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 3439 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_367 (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 3439 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_367 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  {
/* #line 3446 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 3446 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3449, __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 3450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3453, __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 3479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
/* #line 3479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
)
		      {
/* #line 3480 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3481, __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", 3482, __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 3479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
/* #line 3479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
)
		      {
/* #line 3480 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3481, __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", 3482, __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 3490 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
			    tree res = generic_simplify_108 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case ADDR_EXPR:
		  {
		    {
/* #line 3490 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
		      tree res = generic_simplify_181 (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 3490 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
		      tree res = generic_simplify_455 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case ADDR_EXPR:
	    {
	      {
/* #line 3490 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
		tree res = generic_simplify_255 (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 3545 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3548, __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 3555 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_184 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 3414 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_225 (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 3428 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_167 (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 3428 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_167 (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 3428 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
	      tree res = generic_simplify_167 (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 3428 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
	      tree res = generic_simplify_167 (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 3432 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_217 (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 3432 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_217 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  {
/* #line 3457 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 3457 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3460, __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 3461 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3464, __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 3470 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
/* #line 3470 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
)
		      {
/* #line 3471 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3472, __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", 3473, __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 3470 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
/* #line 3470 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
)
		      {
/* #line 3471 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3472, __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", 3473, __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 3490 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
			    tree res = generic_simplify_108 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case ADDR_EXPR:
		  {
		    {
/* #line 3490 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
		      tree res = generic_simplify_181 (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 3490 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
		      tree res = generic_simplify_455 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case ADDR_EXPR:
	    {
	      {
/* #line 3490 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
		tree res = generic_simplify_255 (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 3545 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3548, __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 3555 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_184 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 3664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_315 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
	if (res) return res;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 3711 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
	if (res) return res;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 3714 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_140 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case VECTOR_CST:
      {
	{
/* #line 3720 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
	  if (res) return res;
	}
        break;
      }
    case CONSTRUCTOR:
      {
	{
/* #line 3720 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_339 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
	  if (res) return res;
	}
        break;
      }
    case INTEGER_CST:
      {
	{
/* #line 3743 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3743, __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 3751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_293 (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 3664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_315 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
	if (res) return res;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 3711 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
	if (res) return res;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 3714 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_140 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case VECTOR_CST:
      {
	{
/* #line 3720 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
	  if (res) return res;
	}
        break;
      }
    case CONSTRUCTOR:
      {
	{
/* #line 3720 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_339 (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 3751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_293 (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 4310 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4310, __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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 5556 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_446 (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 5776 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_350 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, UNORDERED_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_345 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, UNORDERED_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
  {
/* #line 6270 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6270 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6271, __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 6272 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6273, __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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 5556 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_446 (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 5776 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_350 (loc, type, _p0, _p1, captures, ORDERED_EXPR, ORDERED_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_345 (loc, type, _p0, _p1, captures, ORDERED_EXPR, ORDERED_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, ORDERED_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
  {
/* #line 6279 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6279 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6280, __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 6281 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6282, __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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 5276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_162 (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 5556 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_446 (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 5776 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_350 (loc, type, _p0, _p1, captures, UNLT_EXPR, UNGT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_345 (loc, type, _p0, _p1, captures, UNLT_EXPR, UNGT_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_87 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 5272 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_452 (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 5556 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_446 (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 5776 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_350 (loc, type, _p0, _p1, captures, UNLE_EXPR, UNGE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_345 (loc, type, _p0, _p1, captures, UNLE_EXPR, UNGE_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_87 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 5276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_162 (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 5556 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_446 (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 5776 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_350 (loc, type, _p0, _p1, captures, UNGT_EXPR, UNLT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_345 (loc, type, _p0, _p1, captures, UNGT_EXPR, UNLT_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_87 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 5272 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_452 (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 5556 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_446 (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 5776 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_350 (loc, type, _p0, _p1, captures, UNGE_EXPR, UNLE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_345 (loc, type, _p0, _p1, captures, UNGE_EXPR, UNLE_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_87 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 5272 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_452 (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 5556 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_446 (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 5776 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_350 (loc, type, _p0, _p1, captures, UNEQ_EXPR, UNEQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_345 (loc, type, _p0, _p1, captures, UNEQ_EXPR, UNEQ_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_87 (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 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (type)
 && (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", 4496, __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 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4508, __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 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
 && (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", 4518, __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 5279 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 5279 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5280, __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 5556 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_446 (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 5776 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_350 (loc, type, _p0, _p1, captures, LTGT_EXPR, LTGT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_345 (loc, type, _p0, _p1, captures, LTGT_EXPR, LTGT_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_87 (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 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
					      const enum tree_code cmp = LE_EXPR;
/* #line 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8080 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8090, __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", 8094, __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 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
					      const enum tree_code cmp = LE_EXPR;
/* #line 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8080 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8090, __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", 8094, __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 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
					      const enum tree_code cmp = LT_EXPR;
/* #line 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8080 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8090, __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", 8094, __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 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
					      const enum tree_code cmp = LT_EXPR;
/* #line 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8080 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8090, __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", 8094, __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 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
					      const enum tree_code cmp = LE_EXPR;
/* #line 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8080 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8090, __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", 8094, __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 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
					      const enum tree_code cmp = LE_EXPR;
/* #line 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8080 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8090, __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", 8094, __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 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
					      const enum tree_code cmp = LT_EXPR;
/* #line 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8080 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8090, __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", 8094, __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 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
					      const enum tree_code cmp = LT_EXPR;
/* #line 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8080 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8090, __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", 8094, __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 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
					      const enum tree_code cmp = LE_EXPR;
/* #line 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8080 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8090, __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", 8094, __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 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
					      const enum tree_code cmp = LE_EXPR;
/* #line 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8080 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8090, __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", 8094, __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 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
					      const enum tree_code cmp = LT_EXPR;
/* #line 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8080 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8090, __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", 8094, __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 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
					      const enum tree_code cmp = LT_EXPR;
/* #line 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8080 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8090, __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", 8094, __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 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
					      const enum tree_code cmp = LE_EXPR;
/* #line 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8080 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8090, __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", 8094, __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 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
					      const enum tree_code cmp = LE_EXPR;
/* #line 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8080 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8090, __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", 8094, __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 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
					      const enum tree_code cmp = LT_EXPR;
/* #line 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8080 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8090, __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", 8094, __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 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
					      const enum tree_code cmp = LT_EXPR;
/* #line 8076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8080 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8083 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8089 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8090, __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", 8094, __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 3632 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
/* #line 3632 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 3633, __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 4725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
				      tree res = generic_simplify_360 (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 4725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
				tree res = generic_simplify_360 (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 4808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
					    tree res = generic_simplify_465 (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 4808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
					    tree res = generic_simplify_465 (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 4725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				tree res = generic_simplify_360 (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 4725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
			  tree res = generic_simplify_360 (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 4808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
				      tree res = generic_simplify_465 (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 4808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
				      tree res = generic_simplify_465 (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 4725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
				      tree res = generic_simplify_360 (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 4725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
				tree res = generic_simplify_360 (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 3642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
			  tree res = generic_simplify_370 (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 3642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
			  tree res = generic_simplify_370 (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 3642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
			  tree res = generic_simplify_370 (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 3642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
			  tree res = generic_simplify_370 (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 4725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				tree res = generic_simplify_360 (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 4725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
			  tree res = generic_simplify_360 (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 3654 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
			    tree res = generic_simplify_256 (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 3654 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
			    tree res = generic_simplify_256 (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 3654 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
			    tree res = generic_simplify_256 (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 3654 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
			    tree res = generic_simplify_256 (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 4939 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
/* #line 4939 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4943, __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 4948 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
/* #line 4948 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4949, __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 4461 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
/* #line 4461 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  if (integer_zerop (captures[0])
)
	    {
/* #line 4462 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4463, __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 4464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4465, __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 4725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
				      tree res = generic_simplify_360 (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 4725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
				tree res = generic_simplify_360 (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 4808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
					    tree res = generic_simplify_465 (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 4808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
					    tree res = generic_simplify_465 (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 4725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				tree res = generic_simplify_360 (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 4725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
			  tree res = generic_simplify_360 (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 4808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
				      tree res = generic_simplify_465 (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 4808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
				      tree res = generic_simplify_465 (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 4725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
				      tree res = generic_simplify_360 (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 4725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
				tree res = generic_simplify_360 (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 4808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
					    tree res = generic_simplify_465 (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 4808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
					    tree res = generic_simplify_465 (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 4725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				tree res = generic_simplify_360 (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 4725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
			  tree res = generic_simplify_360 (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 4808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
				      tree res = generic_simplify_465 (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 4808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
				      tree res = generic_simplify_465 (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 4955 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
/* #line 4955 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4956, __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 4725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
				      tree res = generic_simplify_360 (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 4725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
				tree res = generic_simplify_360 (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 4808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
					    tree res = generic_simplify_465 (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 4808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
					    tree res = generic_simplify_465 (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 4725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				tree res = generic_simplify_360 (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 4725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
			  tree res = generic_simplify_360 (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 4808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
				      tree res = generic_simplify_465 (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 4808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
				      tree res = generic_simplify_465 (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 4962 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4962, __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 4965 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 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_fail1372:;
	    }
	  }
	{
/* #line 4973 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42 };
/* #line 4973 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4974, __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 4977 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q32, _p2 };
/* #line 4977 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4978, __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 4983 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4983, __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 5009 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
			    const enum tree_code cmp = EQ_EXPR;
/* #line 5009 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5010, __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 5013 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
			    const enum tree_code cmp = EQ_EXPR;
/* #line 5013 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5014, __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 5009 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
			    const enum tree_code cmp = UNEQ_EXPR;
/* #line 5009 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5010, __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 5013 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
			    const enum tree_code cmp = UNEQ_EXPR;
/* #line 5013 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5014, __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 5020 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    const enum tree_code cmp = NE_EXPR;
/* #line 5020 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5021, __FILE__, __LINE__);
				{
				  tree _r;
				  _r = captures[0];
				  return _r;
				}
next_after_fail1380:;
			      }
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      if (integer_zerop (_p2))
		{
		  {
/* #line 5024 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const enum tree_code cmp = NE_EXPR;
/* #line 5024 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5025, __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 6060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
/* #line 6060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (!POINTER_TYPE_P (type) && integer_pow2p (captures[2])
)
				    {
				      {
/* #line 6061 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 int shift = (wi::exact_log2 (wi::to_wide (captures[2]))
 - wi::exact_log2 (wi::to_wide (captures[1])));
/* #line 6065 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6066, __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", 6068, __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 5020 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    const enum tree_code cmp = LTGT_EXPR;
/* #line 5020 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5021, __FILE__, __LINE__);
				{
				  tree _r;
				  _r = captures[0];
				  return _r;
				}
next_after_fail1384:;
			      }
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      if (integer_zerop (_p2))
		{
		  {
/* #line 5024 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const enum tree_code cmp = LTGT_EXPR;
/* #line 5024 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5025, __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 5031 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    const enum tree_code cmp = GE_EXPR;
/* #line 5031 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5033, __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 6027 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
			tree res = generic_simplify_234 (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 6042 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			tree res = generic_simplify_147 (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 5031 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    const enum tree_code cmp = GT_EXPR;
/* #line 5031 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5033, __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 5038 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    const enum tree_code cmp = LE_EXPR;
/* #line 5038 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
			      {
/* #line 5040 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				if (ANY_INTEGRAL_TYPE_P (type)
 && !TYPE_OVERFLOW_WRAPS (type)
)
				  {
				    {
/* #line 5042 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5045, __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", 5046, __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 5038 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    const enum tree_code cmp = LT_EXPR;
/* #line 5038 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
			      {
/* #line 5040 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				if (ANY_INTEGRAL_TYPE_P (type)
 && !TYPE_OVERFLOW_WRAPS (type)
)
				  {
				    {
/* #line 5042 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5045, __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", 5046, __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 6027 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
			tree res = generic_simplify_234 (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 6042 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			tree res = generic_simplify_147 (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 6091 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6091 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			if (integer_pow2p (captures[1])
 && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
			  {
			    {
/* #line 6093 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 int shift = element_precision (captures[0]) - wi::exact_log2 (wi::to_wide (captures[1])) - 1;
/* #line 6096 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 6097, __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", 6102, __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 4988 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4988, __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 4468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
/* #line 4468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4469, __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 4470 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4471, __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 4645 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
/* #line 4645 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		if (VECTOR_BOOLEAN_TYPE_P (type)
 && types_match (type, TREE_TYPE (captures[0]))
)
		  {
/* #line 4647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4648, __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 4649 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4650, __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 4962 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4962, __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 4965 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 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);
		return _r;
	      }
next_after_fail1400:;
	    }
	  }
	{
/* #line 4973 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42 };
/* #line 4973 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4974, __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 4977 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q32, _p2 };
/* #line 4977 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4978, __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 4983 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4983, __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 5009 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
			    const enum tree_code cmp = EQ_EXPR;
/* #line 5009 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5010, __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 5013 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
			    const enum tree_code cmp = EQ_EXPR;
/* #line 5013 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5014, __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 5009 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
			    const enum tree_code cmp = UNEQ_EXPR;
/* #line 5009 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5010, __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 5013 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
			    const enum tree_code cmp = UNEQ_EXPR;
/* #line 5013 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5014, __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 5020 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    const enum tree_code cmp = NE_EXPR;
/* #line 5020 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5021, __FILE__, __LINE__);
				{
				  tree _r;
				  _r = captures[0];
				  return _r;
				}
next_after_fail1408:;
			      }
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      if (integer_zerop (_p2))
		{
		  {
/* #line 5024 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const enum tree_code cmp = NE_EXPR;
/* #line 5024 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5025, __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 5020 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    const enum tree_code cmp = LTGT_EXPR;
/* #line 5020 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5021, __FILE__, __LINE__);
				{
				  tree _r;
				  _r = captures[0];
				  return _r;
				}
next_after_fail1410:;
			      }
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      if (integer_zerop (_p2))
		{
		  {
/* #line 5024 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const enum tree_code cmp = LTGT_EXPR;
/* #line 5024 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5025, __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 5031 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    const enum tree_code cmp = GE_EXPR;
/* #line 5031 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5033, __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 5031 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    const enum tree_code cmp = GT_EXPR;
/* #line 5031 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5033, __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 5038 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    const enum tree_code cmp = LE_EXPR;
/* #line 5038 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
			      {
/* #line 5040 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				if (ANY_INTEGRAL_TYPE_P (type)
 && !TYPE_OVERFLOW_WRAPS (type)
)
				  {
				    {
/* #line 5042 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5045, __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", 5046, __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 5038 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    const enum tree_code cmp = LT_EXPR;
/* #line 5038 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			    if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
			      {
/* #line 5040 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				if (ANY_INTEGRAL_TYPE_P (type)
 && !TYPE_OVERFLOW_WRAPS (type)
)
				  {
				    {
/* #line 5042 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 5045, __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", 5046, __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 4988 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 4988, __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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_112 (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 8005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_112 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_278 (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 8010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_278 (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 8019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
			  tree res = generic_simplify_263 (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 8019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
			  tree res = generic_simplify_263 (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 8019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
			  tree res = generic_simplify_263 (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 8019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
			  tree res = generic_simplify_263 (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 8019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
		    tree res = generic_simplify_263 (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 8019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
		    tree res = generic_simplify_263 (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 8019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
		    tree res = generic_simplify_263 (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 8019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
		    tree res = generic_simplify_263 (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 8024 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
		      tree res = generic_simplify_164 (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 8024 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
		      tree res = generic_simplify_164 (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 8024 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
		      tree res = generic_simplify_164 (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 8024 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
		      tree res = generic_simplify_164 (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 8024 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
		tree res = generic_simplify_164 (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 8024 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
		tree res = generic_simplify_164 (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 8024 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
		tree res = generic_simplify_164 (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 8024 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
		tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
		tree res = generic_simplify_164 (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 7409 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 7409, __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 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 7413, __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 7417 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 7417 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 7418, __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 7423 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
/* #line 7423 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7426 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 7427, __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 7428 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 7429, __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 7430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 7449, __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 7455 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
/* #line 7455 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7462 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7471 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7476 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7492 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (multiple_p (idx, k, &elt) && multiple_p (n, k, &count)
)
			    {
/* #line 7493 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 7494, __FILE__, __LINE__);
				  {
				    tree _r;
				    _r =  build_zero_cst (type);
				    return _r;
				  }
next_after_fail1425:;
				}
			      else
				{
/* #line 7495 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (count == 1
)
				    {
/* #line 7496 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 7497, __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", 7498, __FILE__, __LINE__);
					  {
					    tree _r;
					    _r =  build_zero_cst (type);
					    return _r;
					  }
next_after_fail1427:;
					}
				    }
				  else
				    {
/* #line 7502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				      if (single_use (captures[0])
)
					{
					  {
/* #line 7503 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 7525, __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 7527 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      if (k.is_constant (&const_k)
 && idx + n <= (idx / const_k + 1) * const_k
)
				{
/* #line 7530 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 7531, __FILE__, __LINE__);
				      {
					tree _r;
					_r =  build_zero_cst (type);
					return _r;
				      }
next_after_fail1429:;
				    }
				  else
				    {
/* #line 7532 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 7533, __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", 7534, __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 7542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _p1, _p2 };
	  {
/* #line 7542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7551 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 7556, __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 7559 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 7561, __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 7562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 7566, __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 8143 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
			      tree res = generic_simplify_445 (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 8143 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
			      tree res = generic_simplify_445 (loc, type, _p0, _p1, _p2, captures);
			      if (res) return res;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p2))
    {
    case VECTOR_CST:
      {
	{
/* #line 8202 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
	  {
/* #line 8202 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	      if (tree_to_vec_perm_builder (&builder, op2)
)
		{
		  {
/* #line 8212 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8219 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8220, __FILE__, __LINE__);
			  {
			    tree _r;
			    _r =  op0;
			    return _r;
			  }
next_after_fail1435:;
			}
		      else
			{
/* #line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8222, __FILE__, __LINE__);
			      {
				tree _r;
				_r =  op1;
				return _r;
			      }
next_after_fail1436:;
			    }
			  else
			    {
			      {
/* #line 8223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8252 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8257, __FILE__, __LINE__);
				      {
					tree _r;
					_r =  t;
					return _r;
				      }
next_after_fail1437:;
				    }
				  else
				    {
				      {
/* #line 8258 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8330 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8331, __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 8333 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8334, __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 8381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p2 };
/* #line 8381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
			  if (TYPE_VECTOR_SUBPARTS (type).is_constant ()
)
			    {
			      {
/* #line 8382 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
				  if (tree_to_vec_perm_builder (&builder0, captures[3])
 && tree_to_vec_perm_builder (&builder1, captures[4])
)
				    {
				      {
/* #line 8393 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8416 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8417, __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 8353 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p2 };
/* #line 8353 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8354, __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 8355 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/match.pd" */
 tree elem = uniform_vector_p (captures[0]);
/* #line 8359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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", 8360, __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;
}
